在使用着色器时为 glutBitmapCharacter 设置光栅颜色

问题描述 投票:0回答:1

我正在使用顶点和片段着色器,GLSL 版本 130。Ubuntu 12.04 LTS。着色器工作正常。照明被禁用。

文本由 glutBitmapCharacter() 绘制正常,但颜色不可预测。当我调整着色器使用的调色板并重新编译时,颜色会发生变化。

glColor4f() 当然没有效果,因为着色器覆盖了固定的管线行为。那么如何设置 glutBitmapCharacter() 将呈现的“光栅颜色”呢? (或者每个帧都应该使用着色器和 then 固定管道吗?糟糕。)

opengl ubuntu colors glsl shader
1个回答
1
投票

请与我交谈:我不会将 OpenGL 光栅操作与可编程管道混合使用。 正如您发现的那样,结果非常、错误、烦人。

还从现代 OpenGL 中完全删除了光栅操作(即上面的所有内容,包括 OpenGL-3.0)。试图将它们与着色器一起使用是纯粹的受虐狂。看着其他人尝试这样做甚至会让人痛心。所以请不要。

还是应该每一帧都使用着色器,然后固定管线?

您可以随时在固定功能和着色器之间切换。在需要时使用

glUseProgram(0)
切换到固定功能。这将是在使用光栅操作时。但是在使用光栅操作时,您当然只能使用 OpenGL-2.1。

© www.soinside.com 2019 - 2024. All rights reserved.