警告:变量无法绑定(它不存在或已被优化掉)

时间:2015-09-23 21:57:03

标签: c++ opengl glsl fragment-shader opengl-4

我正在尝试传递一个变量timeVar(一个初始设置为0.0的float),它在我的display()方法中用行改变

timeVar = time(0);

到我的片段着色器。然后我这样做

safe_glUniform1f(h_uTime, timeVar); 

并将其传递给我的着色器程序

h_uTime = safe_glGetAttribLocation(h_program, "uTime");

但我一直收到这个错误。请帮忙!

WARN: uTime cannot be bound (it either doesn't exist or has been optimized 
away). safe_glAttrib calls will silently ignore it.

1 个答案:

答案 0 :(得分:2)

由于uTime是统一而非属性,因此使用glGetAttribLocation始终会导致错误。一个人必须使用glGetUniformLocation代替。