ThreeJS 给 Shader传参
参考: https://www.cnblogs.com/softimagewht/p/4750847.html ThreeJS 给 Shader传参 一、Shader三种变量类型(uniform, attribute 和varying) 1、uniform 顶点着色器 和 片元着色器 都可以使用 一般用来传递:变换矩阵,材质,光照参数和颜色等信息 用法: 外部(js)给着色器传数据 // 着色器代码 uniform vec4 u_FragColor ; void main ( ) { gl_FragColor = u_FragColor ; } // js代码 var u_FragColor = gl . getUniformLocation ( gl . program , 'u_FragColor' ) ; gl . uniform4f ( u_FragColor , 0.0 , 1.0 , 1.0 , 1.0 ) ; 2、attribute 只能在 顶点着色器 中使用 一般用来传递顶点的数据,如:顶点坐标,法线,纹理坐标,顶点颜色 用法: 外部(js)给着色器传数据 类型: float,vec2,vec3,vec4,mat2,mat3,mat4 // 着色器代码 attribute vec4 a_Position ; void main ( ) { gl_position =