2

我正在处理这个 three.js 示例 - http://www.html5canvastutorials.com/three/html5-canvas-webgl-rotating-cube/

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

谢谢!

4

1 回答 1

3

MeshNormalMaterial用于THREE.ShaderLib[ 'normal' ]材质的着色器。

您可以在WebGLShaders.js.

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

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

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

三.js r.62

于 2013-11-01T20:01:59.340 回答