OpenGL ES 2.0着色器,时间变量是如何调用的?

Rel*_*lla 4 time shader opengl-es opengl-es-2.0

我尝试执行这样的像素着色器:

"#ifdef GL_ES\n"
"    precision highp float;\n"
"    #endif\n"
"    \n"
"   uniform float time;\n"
"       uniform vec2 resolution;\n"
"\n"
"       void main( void ) {\n"
"\n"
"        vec3 rgb = vec3( abs( sin( time / 5.0 ) ), 0.0, 0.0 );\n"
"        gl_FragColor = vec4( rgb, 1.0 );\n"
"\n"
"       }\n"
Run Code Online (Sandbox Code Playgroud)

我希望它像 webGL mrdoob 示例一样工作(从黑色到红色)。但这里的时间变量似乎只是 0...(

顺便说一句,此处显示的示例符合预期的符文。

那么 OpenGL ES 2.0 的像素着色器中是否存在“时间变量”?

gen*_*ult 5

检查第一个链接上的页面源。您必须计算并传递time来自主机程序的值。

OpenGL ES 2.0 没有时间、挂钟或其他概念。