бит глубины цвета?

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

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

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

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

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


person quano    schedule 21.02.2010    source источник


Ответы (1)


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

person Mark Ransom    schedule 21.02.2010
comment
Интригующе. Почему 32-битные PNG получают артефакты, а PVR - нет? (Я использую cocos2d для iphone.) - person quano; 21.02.2010
comment
Хотелось бы, чтобы у меня были какие-то внутренние знания, чтобы помочь ответить на этот вопрос, но я не могу. - person Mark Ransom; 21.02.2010