唉,没想到今年最后一天竟然在写这个。8说了,过两天还有考试呢。。

  1. 使用glGetUniformLocation获取定义的着色器uniform,输入两个参数:glCreateProgram()返回的标识值,和定义的uniform的名称(string形式)。如果在任一着色器内都没有使用过所定义的uniform的话,GLSL编译器会自动删除该变量,这时返回值是-1,对应unsigned int的值是4294967295。如果使用了错误的programId值也是一样的。

  2. 与着色器相关的函数调用序列如下:
        glCreateProgram()
        glAttachShader()
        glLinkProgram()
        glUseProgram()
        glGetUniformLocation()
        glUniformMatrix4fv()

    来自StackOverflow

标签: none

添加新评论