Я пишу некоторые 2D-эффекты свертки, и для некоторых из них нужен только один канал цвета. Хотя я знаю, как создавать GL_RED
текстуры, которые являются одноканальными, я не знаю, как заставить остальную часть конвейера рендеринга OpenGL работать в одноканальном режиме: например, glClearColor
всегда указывает четыре цветовых компонента. На самом деле, я даже не знаю, допустимо ли привязывать одноканальную текстуру GL_RED
к цветному вложению FBO.
В качестве опции резервного копирования я все еще могу работать в RGBA и использовать только один канал , Но это будет в четыре раза больше памяти графической c памяти, и мне это не нравится.
Я знаю, что есть режим индексированных цветов. Однако это сложно и устарело, поэтому я не хочу его использовать.