如何将片段着色器仅应用于OpenGL中的一个对象?

xtr*_*nge 6 c++ opengl

我刚开始学习OpenGL.在我看过的所有教程中,他们演示了如何使用片段着色器设置视图中所有对象的颜色.我还没有找到的是如何在一个对象上使用片段着色器,为不同的对象提供不同的颜色.你是怎样做的?

为了提供问题的背景,我在2d画了一个房子和道路的简单场景.我已经发现如何使用固定的图形管道设置我的每个对象(房子的主体,窗口等)的颜色,我只是不明白如何使用片段着色器设置颜色.

如果我误解了某些内容,我们将非常感谢任何澄清,包括纠正.

Pub*_*bby 4

为了提供问题的背景,我正在绘制一个简单的二维场景,其中有一座房子和一条路。我已经发现如何使用固定图形管道设置每个对象(房子的主体、窗户等)的颜色,我只是不明白如何使用片段着色器设置颜色。

正如 RobertRouhani 所说,使颜色统一并为每个对象更改它。


如何将片段着色器仅应用于 OpenGL 中的一个对象?

glUseProgram您可以简单地使用不同的着色器来更改着色器程序和渲染调用。

请参阅:https://gamedev.stackexchange.com/questions/22216/using-multiple-shaders