Ich habe zwei Szenen, die ich separat rendern und überlagern, also renderer.autoClear
auf false
setzen. Ich verwende renderer.clear()
in der Rendering-Schleife, und alles ist gut:three.js: cubemap und renderer.autoclear = false
// This works fine!
renderer.clear();
renderer.render(bgScene, bgCamera)
renderer.clearDepth();
renderer.render(scene, camera);
Allerdings habe ich jetzt eine cubecamera zu der Szene hinzugefügt, um ein reflektierendes Objekt zu machen. Leider verursacht, mit renderer.autoClear
Satz zu false
Fragen, wo die Textur des reflektierenden Objekts klart nicht, wenn die Umgebung zu ändern, wodurch die typischen „Malerei“ -Effekt:
// Causes "painting" effect
cubeCamera.updateCubeMap(renderer, scene);
Hier ist eine vereinfachte Geige, die die repliziert Problem. Ich habe die beiden Szenen nicht aufgenommen, um die Dinge einfach zu halten. Ich bin mir bewusst, dass dies tatsächlich ein Fehler in der Bibliothek sein könnte, in diesem Fall werde ich es im Repo veröffentlichen.
https://jsfiddle.net/pqoz74rf/4/