const char* vs = "void main()\
{\
gl_Position = ftransform();\
}";
const char* ps = "uniform vec4 _color;\
void main()\
{\
gl_FragColor = _color;\
}";
GLint program = createProgram(vs, ps);
//根据变量名_color获取着色器程序中对应uniform变量的位置,
//应用程序操作这个_colorId,就可以改变着色器中的uniform变量
uniform colorId = glGetUniformLocation(program,"_color");
//改变uniform
glUseProgram(program);
glUniform4f(colorId,0,1,0,1);//要在绘制之前调用
//....代码省略
glDrawArrays(GL_TRIANGLE_STRIP,0,4);
glUseProgram(0);
glGetUniformLocation,glUniform4f
于 2022-07-20 11:55:09 首次发布