OpenGL入门踩坑
唉,没想到今年最后一天竟然在写这个。8说了,过两天还有考试呢。。
-
使用
glGetUniformLocation
获取定义的着色器uniform,输入两个参数:glCreateProgram()
返回的标识值,和定义的uniform的名称(string
形式)。如果在任一着色器内都没有使用过所定义的uniform的话,GLSL编译器会自动删除该变量,这时返回值是-1,对应unsigned int的值是4294967295。如果使用了错误的programId
值也是一样的。 - 与着色器相关的函数调用序列如下:
glCreateProgram() glAttachShader() glLinkProgram() glUseProgram() glGetUniformLocation() glUniformMatrix4fv()