4、网课系列 | OpenGL 从CPU传数据到Shader的方法(uniform)

如何将CPU上的C++程序数据,送到shader程序中,
uniform ,是GLSL结构化语言中的关键字。

步骤:
1、先在shader中声明一个uniform变量,比如,

uniform vec4 U_color

2、再到cpp文件中,获取shader程序中uniform的location及变量名

int location = glGetUniformLocation(shader,"U_color");
glUniform4f(1.0f, 0.0f, 0.0f , 1.0f);

注意,这个传入的shader必须是当前正在使用的shader程序,也就是要在glUseProgram(shader) 之后进行传入数据到shader 文件中。

猜你喜欢

转载自blog.csdn.net/weixin_42557786/article/details/107614209