2016-07-14 223 views
2

我有兩個場景,我分別渲染和覆蓋,所以renderer.autoClear設置爲false。我使用renderer.clear()渲染循環中,一切都很好:three.js:cubemap和renderer.autoclear = false

// This works fine! 
renderer.clear(); 
renderer.render(bgScene, bgCamera) 
renderer.clearDepth(); 
renderer.render(scene, camera); 

不過,我現在已經添加了一個cubecamera到現場,做一個反光物體。不幸的是,有renderer.autoClear設置爲false導致的問題,其中反射物體的質感,當週圍環境的變化是不清除,造成典型的「清明上河圖」的效果:

// Causes "painting" effect 
cubeCamera.updateCubeMap(renderer, scene); 

這裏是一個簡化的小提琴是複製問題。我沒有包含這兩個場景,以保持簡單。我知道這實際上可能是圖書館中的一個錯誤,在這種情況下,我會將其發佈到回購庫中。

https://jsfiddle.net/pqoz74rf/4/

回答

0

問題由偉大的WestLangley上github解決,結束了。更新立方體貼圖時必須啓用自動清除功能,但對於渲染的其他部分可以再次關閉。

renderer.autoClear = true; 
cubeCamera.updateCubeMap(renderer, scene); 

renderer.render(bgScene, bgCamera) 
renderer.autoClear = false; 

renderer.clearDepth(); 
renderer.render(scene, camera); 

更新小提琴:https://jsfiddle.net/pqoz74rf/6/

相關問題