《OGL dev》Etay Meiri Tutorial 05 - Uniform Variables 笔记
uniform变量是shader变量,在draw call之前加载,在draw call调用期间保持不变。
GLUT仅在窗口必须重新绘制时调用渲染回调函数,比如,最小化之后再最大化窗口。如果启动应用之后什么也不做,那么渲染回调函数只被调用一次。
在没有从窗口系统接收到任何事件的时,GLUT调用空闲回调函数。
glutPostRedisplay()标记窗口必须重新绘制。
编译shader时,GLSL编译器为每一个uniform变量分配一个索引。
glGetUniformLocation()可以获取这个索引。
如果glGetUniformLocation()返回-1说明发生了错误。
如果一个uniform变量在shader中没有被使用,会被编译器丢弃,而无法被访问。
glUniform{1234}{if}系列函数可以通过索引设置uniform变量的值。1234对应1-4维,i表示整数,f表示浮点。
uniform float gScale;
,在shader中定义一个uniform变量。