интересно:
Только у БМП 256 цветов, палитра хранится в формате 4x8 (RGBa, последний байт всегда равен 0, в заголовке под палитру 1024 байта отведено, proof:In most cases, each entry in the color table occupies 4 bytes, in the order blue, green, red, 0x00 (see below for exceptions). This is indexed in the BITMAPINFOHEADER under the function biBitCount.). Это можно видеть при выгрузке картинки из фотошопа. Про другие редакторы и конвертилки я не знаю и на них не полагаюсь. Хотя знаю, что, например, xnView, если в картинке меньше 256 цветов, то он в заголовок кидает соответствующую палитру. т.е. если будет 128 цветов, то половина заголовка будет выкушена из файла. Возможно какие-то другие программки пихают палитру ещё как-то иначе. Кроме того, Спринтер имеет такой же формат палитры и я просто беру БМП файл, из его заголовка выгребаю как есть палитру, применяю её и далее кидаю сам битмап в экран.Палитра - 3х6 бит (как BMP 256), размещена во внутренней памяти FPGA 256 * 18 бит.
И в целом не понятно, к чему ограничиваться 5+5+5 палитрой, когда можно свободно сделать 8+8+8 и ни о чём не парится?!
5+5+5 = 15 бит. От куда ещё 3 бита взялось и для чего? С точки зрения математики и просто удобства, проще и удобнее хранить как 24бита (8+8+8).размещена во внутренней памяти FPGA 256 * 18 бит.
да и опять-таки, несколько раз предлагалось в теме - вкарячить в карту подобие шейдеров - описание того, что и как делать со спрайтами/тайлами/адерсами их хранения. Без этого получается очередной тайлоспрайтовый двиг аля ТС на котором даже ротозум полноэкранный будет тормозить...




Ответить с цитированием