2016-11-11 64 views
1

我遇到以下問題:嘗試使用RenderPass渲染多個場景進行後期處理。使用THREE.Renderpass呈現多個場景

有2個場景現在:

1)地形+雲

2)文字層

兩個場景渲染,但在文字層被混合到地形(通常他們是否有呈現在同一場景中,它應該像這樣)。奇怪的是:我可以看到雲層中的文字比地形更高(地形和雲層在同一場景中進行測試)You cann see the text above the clouds but it blends to the terrain

您看不到雲層上方的文字,但它會混合地形

以使其我使用下面的代碼:

@renderPass = new THREE.RenderPass(@scene, @camera) 
    @renderPass.renderToScreen = true 
    @renderPass.clear = false 
    @renderPass.clearDepth = true 

    @textPass = new THREE.RenderPass(@textScene, @camera) 
    @textPass.renderToScreen = true 
    @textPass.clear = false 
    @textPass.clearDepth = true 

@composer = new THREE.EffectComposer(@renderer); 

     @composer.addPass(@renderPass) 
     @composer.addPass(@textPass) 

但是,當我試着去使它們正常使用:

@renderer.clear() 
    @renderer.render @scene, @camera 
    @renderer.clearDepth(); 
    @renderer.render @textScene, @camera 

一切按預期工作。 enter image description here

回答

1

RenderPass實際上沒有clearDepth選項。我打開一拉請求添加支持這一點,這應該解決您的問題:

https://github.com/mrdoob/three.js/pull/10159

更新:拉請求被合併,並列入R83版本,所以你所寫的代碼應現在的工作。

相關問題