Three.js - 具有相同材料的额外网格材料是否有益?

时间:2016-06-18 15:35:26

标签: three.js

我是three.js的新手。我知道你可以将多个网格材料组合成一个网格。如果网格是相同的材料怎么办?它会添加更多细节吗?另外,额外的mesh = new THREE.Mesh( geometry, material ); scene.add( mesh );做了什么有益的事情吗?用肉眼看我很难说。

  mesh = new THREE.Mesh( geometry, material );
   scene.add( mesh );

  mesh = new THREE.Mesh( geometry, material );
  mesh.position.z = - 1500;
  scene.add( mesh );

1 个答案:

答案 0 :(得分:2)

在术语中似乎有点混淆。网格是场景中的实际对象,其中材质描述网格的属性,这会影响其着色。因此,创建第二个网格并将其添加到场景将导致第二个对象具有提供的几何和材质(即呈现)。你没有看到它的可能原因可能是因为它沿着Z轴远远被摄像机的远剪裁平面(a.k.a Z far)剔除。

对“有益”部分。它依赖于实现,但它可能有利于渲染性能,因为共享材质的网格绘制调用(以及着色器程序及其参数)可以在没有冗余状态更改的情况下合并在一起,这在WebGL(和OpenGl,for那件事。)