着色器

着色器:版本声明  输入输出变量 uniform和 main函数

glsl数据类型:int、 float、double、uint、bool、Vector和Matrix

vecn 包含n个float分量的默认向量

bvecn包含n个bool分量的默认向量

从一个着色器向另一个着色器发送数据,我们必须在发送方着色器中声明一个输出,在接收方着色器中声明一个类似的输入。当类型和名字都一样的时候,OpenGL就会把两个变量链接到一起,它们之间就能发送数据了(这是在链接程序对象时完成的)

为了定义顶点数据该如何管理,我们使用location这一元数据指定输入变量,这样我们才可以在CPU上配置顶点属性。我们已经在前面的教程看过这个了,layout (location = 0)。顶点着色器需要为它的输入提供一个额外的layout标识,这样我们才能把它链接到顶点数据

Uniform 是从CPU中向GPU发送数据的方式。它是一个全局变量。

location这一元素指定输入变量

layout (location = 0) in vec3 aPos; // 位置变量的属性位置值为 0

layout (location = 1) in vec3 aColor; // 颜色变量的属性位置值为 1


猜你喜欢

转载自blog.csdn.net/qq_16603297/article/details/80058067