【发布时间】:2017-07-10 14:50:40
【问题描述】:
我想实现一个类似于glColor4f 固定函数方法的着色器。
着色器:
precision mediump float;
void main() {
gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
//gl_FragColor = vColor
};
绘图功能
glVertexAttribPointer(gvPositionHandle, 3, GL_FLOAT, GL_FALSE, 0, cube1);
glDrawElements(GL_TRIANGLES, 36, GL_UNSIGNED_BYTE, indices);
这段代码绘制了一个绿色的立方体。现在,我想将其更改为不同的颜色,例如红色。我想在每次使用不同颜色时不修改着色器代码来做到这一点。相反,应该可以做类似于glColor4f 方法所做的事情:
- 设置颜色 1 // 充当 glColor4f(0.0, 1.0, 0.0, 1.0);
- glDrawElements // 绘制 obj 1
- 设置颜色 2 // 充当 glColor4f(1.0, 0.0, 0.0, 1.0);
- glDrawElements // 绘制 obj 2
如何使用着色器来做到这一点?
【问题讨论】:
-
我编辑了你的问题,以便写得更清楚。请检查一切是否仍然正确?
标签: opengl-es