WebGL_3 JS传递信息给着色器

glsl定义变量接收 JavaScript 传递过来的信息,有两种形式,

  • attribue 变量:只能在顶点着色器中定义。

  • uniform 变量:既可以在顶点着色器中定义,也可以在片元着色器中定义。

此外还有一种varing 变量:它用来从顶点着色器中往片元着色器传递数据。使用它我们可以在顶点着色器中声明一个变量并对其赋值,经过插值处理后,在片元着色器中取出插值后的值来使用。

JavaScript 如何往着色器中传递数据

  • getAttribLocation:找到着色器中的 attribute 变量地址。
  • getUniformLocation:找到着色器中的 uniform 变量地址。
  • vertexAttrib2f:给 attribute 变量传递两个浮点数。
  • uniform4f:给uniform变量传递四个浮点数。

猜你喜欢

转载自blog.csdn.net/lamanchas/article/details/100706845
今日推荐