gl_Color是WebGL上未声明的标识符

pio*_*ion 5 opengl-es webgl fragment-shader

我正在查看http://www.swiftless.com/tutorials/glsl/3_glcolor.html,其中包含以下代码段:

void main() {
// Set the output color of our current pixel
gl_FragColor = gl_Color;}
Run Code Online (Sandbox Code Playgroud)

我试图在我的WebGL上使用gl_Color.我得到一个错误,gl_Color是未声明的标识符.

我做错了什么?

在此先感谢您的帮助.

Rya*_*n S 9

WebGL使用Open GL ES 2.0作为基础,因此您应该使用GLSL ES 1.0作为着色器.GLSL ES没有gl_Color,因此您必须重写此着色器.

  • 没有相当于gl_Color或任何gl_Vertex,gl_Normal等等 - 旧的固定管道的任何方面都没有复制或模拟,像glColorPointer这样的函数在ES 2.0中不起作用.您需要根据需要定义自己的属性或制服,并以正常方式获取/设置它. (3认同)