我有一个具有几个统一变量的着色器:

uniform vec4 a;
uniform vec4 b;
uniform vec4 c;


我正在使用glGetUniformLocation()获取这些句柄并将它们存储在数组中。游戏被暂停,然后继续并调用了onSurfaceCreated()。问题是:这些句柄是否有效,还是我需要再次使用glGetUniformLocation()重新获得它们?

评论

相关:更改着色器程序时是否需要重新绑定制服或属性?

#1 楼

统一位置是在链接程序并绑定到程序时设置的。

这意味着在创建新程序时,统一位置可以更改。