GL_COLOR是WebGL上未申报的标识符
-
11-10-2019 - |
题
我看着 http://www.swiftless.com/tutorials/glsl/3_glcolor.html 具有以下代码段:
void main() {
// Set the output color of our current pixel
gl_FragColor = gl_Color;}
我试图在我的WebGL上使用GL_COLOR。我发现GL_Color是未申报的标识符的错误。
我做错了什么?
在此先感谢您的帮助。
解决方案
WebGL使用开放式GLES 2.0作为其基础,因此您应该使用GLSL ES 1.0用于着色器。 GLSL ES没有GL_COLOR,因此您必须重写此着色器。
其他提示
我的猜测是,您正在尝试使用常规C编译器编译GLSL代码。
看起来应该是C代码,但实际上是GLSL源 - 被删除为由OpenGL GLSL编译器(而不是您的机器C编译器)编译的。
片段着色器具有预定义的变量“ gl_color”,该变量是顶点着色器的输出。
您引用的示例具有Shader.Frag文件中的代码,该文件由Shader.Init()引用。 OpenGL库本身将处理将其编译到机器的GPU指令中。将代码放入该文件中,希望该示例能起作用:)
不隶属于 StackOverflow