(Быстрая версия: переход к абзацу рядом с последним - тот, который начинается с «Но»)бит глубины цвета?
Я был доволен своим невежеством, полагая, что изображения 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 дает очень видимые артефакты).
Интригующий. Как получилось, что 32-битные PNG-файлы получают артефакты, но PVRs нет? (Я использую cocos2d для iphone.) – quano
Мне жаль, что у меня не было некоторых внутренних знаний, чтобы помочь ответить на это, но я не могу. –