GLSL中的Uniform
Uniform
是变量类型的一种修饰符,uniform
的空间被顶点着色器和片段着色器分享;
需要注意的是,uniform
被存储在硬件被称为常量存储,这是一种分配在硬件上的存储常量值的空间。因为这种存储需要的空间是固定的,在程序中这种uniform
的数量是受限的。这个限制能通过读gl_MaxVertexUniformVectors
和gl_MaxFragmentUniformVectors
编译变量得出。( 或者用GL_MAX_VERTEX_UNIFORM_VECTORS
或GL_MAX_FRAGMENT_UNIFORM_ VECTORS
为参数调用glGetIntegerv
)OpenGL ES 2.0必须至少提供256 个顶点着色器uniform 和224个片段着色器uniform
。
常见的形式是glUniformXX
,后面跟随的是数据的类型,支持的类型有
- float glUniform1f
- float[] glUniform1fv
- matrix glUniformMatrix2fv
类似的还有不少。
PREVIOUSUnity window多分辨率解决方案