我有两个场景,我分别渲染和覆盖,所以renderer.autoClear
设置为false
。我在渲染循环中使用renderer.clear()
,一切都很好:
// This works fine!
renderer.clear();
renderer.render( bgScene, bgCamera )
renderer.clearDepth();
renderer.render( scene, camera );
然而,我现在已经在场景中添加了立方相机,以制作反光物体。不幸的是,将renderer.autoClear
设置为false
会导致问题,当周围环境发生变化时,反射物体的纹理不会清除,从而导致典型的“绘画”效果:
// Causes "painting" effect
cubeCamera.updateCubeMap( renderer, scene );
这是一个复制问题的简化小提琴。我没有包括这两个场景,以保持简单。我知道这实际上可能是库中的一个错误,在这种情况下我会将它发布到回购中。
答案 0 :(得分:0)
伟大的WestLangley在github上解决了问题。更新立方体贴图时必须打开自动清除,但可以再次关闭渲染的其他部分。
renderer.autoClear = true;
cubeCamera.updateCubeMap( renderer, scene );
renderer.render( bgScene, bgCamera )
renderer.autoClear = false;
renderer.clearDepth();
renderer.render( scene, camera );