其他人还搜了
图书知识聚合
在1本书中找到答案
- 章节第4章 着色语言限定符顾名思义为属性限定符,其修饰的变量用来接收渲染管线传递进顶点着色器的当前待处理顶点的各种属性值。 这些属性值每个顶点各自拥有独立的副本,用于描述顶点的各项特征,如顶点坐标、法向量、颜色、纹理坐标等。 用attribute限定符修饰的变量其值是由宿主程序(本书中为Java)批量传入渲染管线的,管线进行基本处理后再传递给顶点着色器(参考图 3-21)。 数据中有多少个顶点,管线就调用多少次顶点着色器,每次将一个顶点的各种属性数据传递给顶点着色器中对应的attribute变量。 因此,顶点着色器每次执行将完成对一个顶点各项属性数据的处理。 从上面的介绍中可以看出,attribute 限定符只能用于顶点着色器中,不能在片元着色器中使用。 且attribute限定符只能用来修饰浮点数标量、浮点数向量以及矩阵变量,不能用来修饰其他类型的变量。 下面的代码片段给出了在顶点着色器中正确使用attribute限定符的情况。 1 attribute vec3 aPosition; //顶点位置。 2 attribute vec3 aNormal; //顶点法向量。