Рендеринг в цветные каналы, не затрагивая другие каналы - PullRequest
2 голосов
/ 06 апреля 2011

Используя OpenGL (любая версия), как я могу рендерить в объект буфера кадра, воздействуя только на один цветовой канал за раз?

Например, мой объект буфера кадра имеет макет GL_BGRA.Теперь я хочу выполнить некоторые команды рендеринга, которые должны менять только красный канал.Таким образом, если фрагмент будет отображаться с цветом (204,0,0,0), а пиксельная текучесть имеет цвет (18,0,100,99), результат должен быть (204,0,100,99).Это должно работать для всех каналов (по крайней мере, для BGR).Возможно, есть какая-то команда маски?

1 Ответ

5 голосов
/ 06 апреля 2011

Да, это называется glColorMask:

Укажите, могут ли красный, зеленый, синий и альфа записываться в буфер кадров.Все начальные значения GL_TRUE, что означает, что цветовые компоненты могут быть записаны

(от http://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml)

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