Цветовой индекс OpenGL в фраг-шейдере? - PullRequest
0 голосов
/ 27 марта 2012

У меня большая библиотека спрайтов, и я хотел бы сократить требования к памяти графического процессора. Могу ли я хранить текстуры в графическом процессоре только с 1 байтом на пиксель и использовать его для поиска цвета RGB во фрагментном шейдере? Я вижу противоречивые сообщения об использовании GL_R8.

1 Ответ

3 голосов
/ 27 марта 2012

Я бы сказал, что это действительно зависит от того, поддерживает ли ваше оборудование этот формат текстуры или нет. Как насчет пропустить весь вопрос, используя вместо этого текстуру A8R8G8B8? Он будет просто сжат, то есть используя битовую маску (или элементы r / g / b / a в glsl) для считывания значений «подпикселя». Как первый пиксель хранится в альфа-канале, второй пиксель в красном канале, третий пиксель в зеленом канале и т. Д.

Вы даже можете использовать это для хранения до 4 слоев в одном изображении (максимальная ширина / высота текстуры); выбор только одного не должен быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...