У меня есть двоичный файл данных изображения, где каждый пиксель точно 4 бита. Данные изображения выложены следующим образом:двоичный файл бит бит
Там N изображений, где первое изображение 1x1, второе изображение 2x2, третье - 4x4 и т. Д. (Они являются мипмапами, если вы хотите знать).
Учитывая указатель на начало буфера данных, я хочу перейти к самому большому изображению.
Теперь я знаю, сколько байтов я хочу пропустить, но есть это раздражающее изображение 1x1 в начале, которое составляет 4 бита. В любом случае, я не знаю, как увеличить шаг указателя.
Как я могу успешно извлечь данные, не отключаясь на 4 бита?
Именно поэтому обычно используется прокладка, и вы тоже должны. –
Храните наименьшее изображение в виде одного байта (или четыре, если вы входите в производительность), и вы закончили –
Если у вас есть контроль над форматом файла изображения ... просто используйте [DDS] (http: // ru. wikipedia.org/wiki/DirectDraw_Surface). Действительно, это хороший кросс-платформенный формат для хранения данных текстур. В них нет ни Windows, ни Direct3D. Если вы абсолютно не можете, используйте [KTX] (http://www.khronos.org/opengles/sdk/tools/KTX/file_format_spec/), который имеет гораздо меньшую поддержку, но он настолько же всеобъемлющий, как DDS. –