0

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

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

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

4

1 回答 1

1

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

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

还是每个帧都应该使用着色器然后固定管道?

您可以随时在固定功能和着色器之间切换。需要时用于glUseProgram(0)切换到固定功能。这将是使用光栅操作时。但是在使用光栅操作时,您当然仅限于 OpenGL-2.1。

于 2013-09-24T17:36:05.223 回答