GLSL三种基本类型

attribute:

1)只在顶点着色器中使用。

2)一般用于表示顶点坐标、纹理坐标等。

3)使用bindAttributeLocation来设置变量在着色器程序中参数列表的索引。

4)使用glVertexAttribPointer来设置attribute的数值。

uniform:

1)uniform是由外部程序传递给顶点着色器和片元着色器的变量。

2)当顶点着色器和片元着色器声明了一个完全一样的unifrom变量,则两者都可以访问到数据,但不能修改,相当于只读全局变量。

3)一般情况下用于表示材质数据。

varing:

1)用于顶点着色器和片元着色器之间传递的变量。

2)由顶点着色器赋值,片元着色器只读。

3)二者的声明必须完全一直,外部程序不能使用该变量。

原文地址:https://www.cnblogs.com/helloc14/p/12295382.html