全局变量和接口块可以用uniform限定符声明。这意味着在基元渲染期间(即:在glDraw*调用期间)多次执行着色器时,值不会改变。这些值由用户从OpenGL设置。它们是常量,但不是编译时常量(因此不是常量)。
http://www.opengl.org/wiki/Type_Qualifier_(GLSL)#Storage_qualifier
我想我是在问为什么统一变量不能在编译时也是常量。
全局变量和接口块可以用uniform限定符声明。这意味着在基元渲染期间(即:在glDraw*调用期间)多次执行着色器时,值不会改变。这些值由用户从OpenGL设置。它们是常量,但不是编译时常量(因此不是常量)。
http://www.opengl.org/wiki/Type_Qualifier_(GLSL)#Storage_qualifier
我想我是在问为什么统一变量不能在编译时也是常量。