2010-02-21 4 views
0

(Быстрая версия: переход к абзацу рядом с последним - тот, который начинается с «Но»)бит глубины цвета?

Я был доволен своим невежеством, полагая, что изображения PVRTC составляли 4 или 2 бит на канал. Это звучало правдоподобно. Это дало бы текстуры 4 + 4 + 4 + 4 (16 бит) или 2 + 2 + 2 + 2 (8 бит), которые имели бы глубину цвета 2^16 (65536) и 2^8 (256) соответственно. Но, прочитав некоторые документы о PVRTC, я вдруг понял, что он сказал 4 bpp (и 2 bpp), то есть 4 бит на пиксель. Путаница и безумие вошли в мой мир.

Что ?! 4 бит? На пиксель? Но это всего лишь 1 бит на канал! (И даже не заставляйте меня начинать с 2-го бита, это было слишком странно для моего мозга, чтобы понять в данный момент.) Некоторые моменты в этой мучительной реальности, я понял, что это было не так реально в конце концов , По-видимому, говоря 4 bpp, речь идет о сжатии, а не о глубине цвета. В конце концов, я не злился.

Но потом я начал задаваться вопросом: какая глубина цвета у этих изображений есть, после декомпрессии? Я попытался просмотреть эту информацию, но, по-видимому, это не считается важным упоминать (или я просто плохо разбираюсь в информации).

Тот факт, что сжатые изображения PVRTC не показывают видимых артефактов в OpenGLES с форматом пикселей, RGBA4444 предполагает, что они 16 бит (с использованием 32-битных изображений PNG с форматом пикселей RGBA4444 в OpenGLES на iPhone дает очень видимые артефакты).

ответ

2

В соответствии с документом http://web.onetel.net.uk/~simonnihal/assorted3d/fenney03texcomp.pdf окончательный выход декомпрессора составляет 8 бит на канал.

+0

Интригующий. Как получилось, что 32-битные PNG-файлы получают артефакты, но PVRs нет? (Я использую cocos2d для iphone.) – quano

+0

Мне жаль, что у меня не было некоторых внутренних знаний, чтобы помочь ответить на это, но я не могу. –