我正在使用这三个例子 - http://www.html5canvastutorials.com/three/html5-canvas-webgl-rotating-cube/
这里,立方体的颜色每帧都会改变。但是,在示例代码中没有指定颜色。此外,我尝试为MeshNormalMaterial指定颜色,但它没有任何效果。那么,颜色是如何被操纵的?
谢谢!
答案 0 :(得分:3)
MeshNormalMaterial
使用THREE.ShaderLib[ 'normal' ]
作为素材的着色器。
您可以在WebGLShaders.js
找到来源。
颜色在片段着色器中设置如下:
gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );
您可以看到片段的颜色是法线向量的函数。
three.js r.62