我目前需要将应用程序从GL移植到GLESv2,我想知道OpenGL ES 2.0中glColor4f的相应调用是什么。

我已经阅读过有关glVertexAttrib4f的信息,但是我无法弄清楚如何使用它。

最佳答案

glColor4f是旧的固定功能管道的一部分,现已弃用。 glColor4f通常有两个用例。


在渲染模型之前设置颜色,以使整个模型具有相同的颜色。
为每个顶点设置不同的颜色。


在基于GLSL的OpenGL中,您现在必须执行以下操作:


在着色器中创建统一的vec4,使用glGetUniformLocation获取“颜色”属性的位置,然后使用glUniform4f设置值。
在您的着色器中创建一个变化的vec4,使用glGetAttribLocation查询“ vert_colour”属性的位置,然后指定颜色数据,如果您确实想模仿旧的glBegin / glEnd方法,则使用glVertexAttribXX,或者最好使用glVertexAttribPointer告诉着色器从VBO读取数据。

10-08 01:37