如何在不使用片段着色器的情况下渲染灰度纹理? (OpenGL的)

时间:2013-03-18 00:35:16

标签: opengl textures texture2d

是否可以在不使用片段着色器的情况下将RGB纹理绘制为灰度,仅使用固定管道openGL?

否则我必须创建两个版本的纹理,一个是彩色的,另一个是黑色和白色。

2 个答案:

答案 0 :(得分:1)

我不知道如何使用RGB纹理和固定功能管道。

如果您从RGB源数据创建纹理但指定内部格式为GL_LUMINANCE,OpenGL会将颜色数据转换为灰度。使用标准白色材料和MODULATE模式。

希望这有帮助。

答案 1 :(得分:0)

没有。 Texture environment combiners无法在没有执行缩放/偏移操作的情况下执行点积。也就是说,它总是假装[0,1]值被编码为[-1,1]值。由于你不能关闭它,你不能做一个合适的点产品。