场景中有许多反射器:如何实现clone()函数



我需要大约80个(移动(反射场景中的ShapeBufferGeometry,我希望它们共享尽可能多的材质数据
显然,clone()方法不适用于Reflector
我得到的是黑色几何图形,它们什么都不反映
尝试将clone()方法添加到prototype中,如下所示,结果根本看不到结果:

// Clone function for Reflector
Reflector.prototype.clone = function() {
return new Reflector( this.geometry, this.options );
}

这是怎么回事?可以在多个对象之间共享反射器吗
谢谢。

我需要大约80个(移动(场景中的ShapeBufferGeometry,我希望它们共享尽可能多的材质数据。

请注意,Reflector的每个实例都使用单独的渲染过程来渲染其环境。我非常怀疑场景中的80个反射器是否能产生可用的性能。

此外,Reflector不是为共享材料而设计的。如果不重构Reflector的实现,就无法实现clone()方法。clone()方法的目的无论如何都值得怀疑,因为场景中只能有少量的镜子。所有这些都必须维护唯一的统一数据。渲染器将自动确保在具有兼容材质设置的材质之间共享着色器程序。因此,即使许多对象都有独特的材质对象,也不应该有明显的性能打击。

最新更新