我需要大约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()
方法的目的无论如何都值得怀疑,因为场景中只能有少量的镜子。所有这些都必须维护唯一的统一数据。渲染器将自动确保在具有兼容材质设置的材质之间共享着色器程序。因此,即使许多对象都有独特的材质对象,也不应该有明显的性能打击。