好奇的探索者,理性的思考者,踏实的行动者。
attribute
和 varying
是两种不同类型的变量声明,用于在 WebGL 的顶点着色器和片元着色器之间传递数据。
Attribute:attribute
变量用于从 JavaScript 程序向顶点着色器传递数据,它通常用于描述顶点的属性信息(比如位置、颜色、法线等)。这些数据在顶点着色器中对每个顶点都是独立的,每个顶点都有自己的属性数据。在顶点着色器中声明的 attribute
变量是只读的,不能在顶点着色器中修改它们的值。
Varying:varying
变量用于在顶点着色器和片元着色器之间传递插值数据。顶点着色器计算的值会被自动插值,并传递给对应的片元着色器。在顶点着色器中设置的 varying
变量的值将会被片元着色器接收并使用。它们允许在顶点着色器和片元着色器之间传递信息,比如颜色、法线、纹理坐标等。在顶点着色器中声明的 varying
变量可以被赋值,并且在片元着色器中使用。
简而言之,attribute
变量是从 JavaScript 传递到顶点着色器的,用于描述顶点的属性信息;而 varying
变量是在顶点着色器和片元着色器之间传递插值数据的。