Three.js MeshNormalMaterial默认颜色

时间:2013-11-01 14:39:10

标签: three.js

我正在使用这三个例子 - http://www.html5canvastutorials.com/three/html5-canvas-webgl-rotating-cube/

这里,立方体的颜色每帧都会改变。但是,在示例代码中没有指定颜色。此外,我尝试为MeshNormalMaterial指定颜色,但它没有任何效果。那么,颜色是如何被操纵的?

谢谢!

1 个答案:

答案 0 :(得分:3)

MeshNormalMaterial使用THREE.ShaderLib[ 'normal' ]作为素材的着色器。

您可以在WebGLShaders.js找到来源。

颜色在片段着色器中设置如下:

gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );

您可以看到片段的颜色是法线向量的函数。

three.js r.62