Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2013, 19:10   #21
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Какой олень придумал bmp формат ?
Я понял про какие строки вы мне все говорили.
А если бы последовали совету из поста №9, поняли бы гораздо раньше.
Цитата:
offset = 2 * ((24 * 3 + 31) / 32) * 4;
Впрочем, сомнения по поводу того, что поняли, все равно остаются.
Результат вычислений привести не судьба?
Должно получиться 12.
s-andriano вне форума Ответить с цитированием
Старый 01.05.2013, 19:24   #22
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
Результат вычислений привести не судьба?
Должно получиться 12.
Если принять первую строку за 0, а вторую за +1 смещение, то 12 и получается.
Я помню вы настаивали начинать с 1 т.е. вторую я и посчитал за 2.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 01.05.2013, 19:47   #23
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Если принять первую строку за 0, а вторую за +1 смещение, то 12 и получается.
Я помню вы настаивали начинать с 1 т.е. вторую я и посчитал за 2.
Позволю себе еще раз себя любимого процитировать:
Цитата:
По какому смещению от начала данных начинается вторая (считая с единицы)
Мне кажется, в такой формулировки сомнений, откуда считать, быть не должно (разумеется, если читать).

Вообще же по поводу нумерации существуют определенные правила:
- смещения всегда считаются с 0,
- интервалы всегда считаются с первого - просто потому, что нулевого интервала не существует - первому непосредственно предшествует минус первый,
- для порядковых чисел существует неоднозначность: в русском (да и многих других) языке принято считать с 1, а в программировании - по аналогии со смещениями - с 0.

Но первая строка - всегда первая, т.к. это именно интервал, лежащий между отметками 0 и 1. Начало первой строки соответствует смещению 0, а конец - непосредственно предшествует смещению 1 (в единицах строк).
s-andriano вне форума Ответить с цитированием
Старый 02.05.2013, 17:18   #24
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не понял причем тут bmp формат, ибо прямоугольный растр так или иначе будет иметь строки.(при распаковке jpg будет тоже самое и тп)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.05.2013, 21:46   #25
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
не понял причем тут bmp формат, ибо прямоугольный растр так или иначе будет иметь строки.
В нормальных форматах такого нет. Строка растра это нечто искусственное и должна существовать на высших уровнях бытия. И если уж мне сильно захочется по каким-то неясным для меня причинам работать/оперировать со строками растра (что есть несомненная глупость) то я умно буду шагать по линейной обрасти растра в ширину рисунка. А утконосы, которые придумали bmp они, наверное, руководствовались какими-то своими мутными соображениями. Вот глянте как кошерно погрузился tga, байтик к байтику. Я даже потрудился стрелочки подрисовал де какой пиксель.
tga.jpg

зы. в pixelmap [] "я" = 255.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 02.05.2013, 23:23   #26
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну и причем тут bmp?

данные без выравнивания(выравнивание 1).
строки ровно так же там есть, снизу вверх идут.
выравнивание появляется после некоторых платформ требующих выравнивание, не всем пофиг на это.


я не понимаю вообще возмущений, словно блин вас заставляют выравнивать данные, это именно один из параметров того как вы суете данные для ГЛ, а не для вас.
я работал с платформами которые требуют выравнивания данных, и у меня возмущений нет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 02.05.2013 в 23:25.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.05.2013, 23:36   #27
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
В нормальных форматах такого нет.
Только где ж их взять - нормальные форматы?
Вот, в GIF, например, мало того, что неизвестно, по какому смещению читать нужный пиксель, так еще и после каждых 128 байт добавляются маркеры. При этом маркеры никак не синхронизированы со строками.
Цитата:
Строка растра это нечто искусственное и должна существовать на высших уровнях бытия.
Сэр предпочитает работать с отдельными пискелями?
Строка растра - вполне естественное понятие, вытекающее из самой природы растрового изображения.
Цитата:
И если уж мне сильно захочется по каким-то неясным для меня причинам работать/оперировать со строками растра (что есть несомненная глупость) то я умно буду шагать по линейной обрасти растра в ширину рисунка. А утконосы, которые придумали bmp они, наверное, руководствовались какими-то своими мутными соображениями. Вот глянте как кошерно погрузился tga, байтик к байтику. Я даже потрудился стрелочки подрисовал де какой пиксель.
Раз уж Вы испытываете такой экстаз от Тарги, объясните, зачем у них оси координат могут идти в любом направлении. Нет, с осью Y еще как-то понять можно, - здесь исторически сложилась неоднозначность, но мы же не арабы, чтобы пускать ось Х справа налево!
s-andriano вне форума Ответить с цитированием
Старый 02.05.2013, 23:41   #28
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
я работал с платформами которые требуют выравнивания данных, и у меня возмущений нет.
Ну, не все знают, что такое 32-разрядный процессор.
Кстати, даже на х86 было бы удобнее обрабатывать растр при помощи MMX, если бы выравнивание было на 8, а не на 4.
s-andriano вне форума Ответить с цитированием
Старый 03.05.2013, 08:22   #29
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
я не понимаю вообще возмущений, словно блин вас заставляют выравнивать данные, это именно один из параметров того как вы суете данные для ГЛ, а не для вас.
Вы правы, надо написать загрузилку и забыть этот вопиющий косяк.

Цитата:
ну и причем тут bmp?
мне порядок букв не нравится.

Цитата:
Сэр предпочитает работать с отдельными пискелями?
Именно так сударь.

Цитата:
но мы же не арабы, чтобы пускать ось Х справа налево!
чтобы у индусов на какой-нибудь моторилле пошло.

Цитата:
Кстати, даже на х86 было бы удобнее обрабатывать растр при помощи MMX, если бы выравнивание было на 8, а не на 4.
AVX расширения проца 32 байта?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 03.05.2013, 17:14   #30
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Именно так сударь.
Медленно это.
Ужасно медленно.
Такой можно себе позволить лишь в крайнем случае - когда ничего другого не остается. И то лишь в пределах долей процента, максимум - единиц процентов от всей площади изображения.
Во всех остальных случаях минимальный элемент, с которым допустимо работать, - как раз строка растра или ее существенный фрагмент.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы Syltan Общие вопросы C/C++ 2 13.11.2009 19:32
Вопросы по if, else? molodoyy Общие вопросы C/C++ 1 25.10.2008 18:55
вопросы MAcK Win Api 7 21.07.2007 18:08