J'ai deux scènes que je suis en train de rendre séparément et en superposition, donc j'ai renderer.autoClear
mis à false
. J'utilise renderer.clear()
dans la boucle de rendu, et tout va bien:three.js: cubemap et renderer.autoclear = false
// This works fine!
renderer.clear();
renderer.render(bgScene, bgCamera)
renderer.clearDepth();
renderer.render(scene, camera);
Cependant, j'ai ajouté une cubecamera sur la scène, pour faire un objet de réflexion. Malheureusement, ayant renderer.autoClear
ensemble à false
est à l'origine des problèmes, où la texture de l'objet réfléchissant est pas de compensation lorsque l'environnement change, ce qui provoque cet effet « peinture » typique:
// Causes "painting" effect
cubeCamera.updateCubeMap(renderer, scene);
Voici un violon simplifié qui reproduit la problème. Je n'ai pas inclus les deux scènes, pour garder les choses simples. Je suis conscient que cela pourrait être un bug dans la bibliothèque, auquel cas je le posterai dans le repo.
https://jsfiddle.net/pqoz74rf/4/