在文档THREE.BufferGeometry
中写道:
normal (itemSize: 3)
存储此几何中每个顶点的面或顶点法线向量的 x、y 和 z 分量。由 .fromGeometry() 设置。
这个变量什么时候保存顶点法线,什么时候保存面法线?
是否像使用 a 一样简单,THREE.MeshMaterial
法线被解释为面法线,而当使用 a 时THREE.LineMaterial
,法线被用作顶点法线?或者它比那更复杂。
我也明白它THREE.FlatShading
可以用来渲染一个带有平面阴影的网格(面法线指向外面)。
geometry = new THREE.BoxGeometry( 1000, 1000, 1000 );
material = new THREE.MeshPhongMaterial({
color: 0xff0000,
shading: THREE.FlatShading
});
mesh = new THREE.Mesh( geometry, material );
我想说法线不再需要了。在这种情况下,为什么我的缓冲区几何图形是由例如THREE.BoxGeometry
仍然持有正常属性的?此信息是否仍用于渲染,或者将它们从缓冲区几何图形中删除是一种可能的优化?