2017-05-12 104 views
0

通過添加MaskPass(即使MaskPass引用的場景/ cam中沒有陰影投射對象或燈光),場景中的陰影也會混亂。禁用MaskPass陰影Three.JS

composer.addPass(clearPass); 
composer.addPass(renderPass_background); 
composer.addPass(maskPass1); // this is the problematic line 
composer.addPass(renderPass_foreground); 
composer.addPass(clearMaskPass); 
composer.addPass(outputPass); 

我相信我的問題是有關How to turn off shadows in MaskPass?(我會對此作出評論,但不會對這裏的街頭信譽/ 50 REP)。看起來額外繪製的陰影畫被觸發,我的THREE.ShadowMaterial/shadow四合開始填滿。

我已經編輯了一些three.js源代碼,但如果可能的話,我們理想地喜歡堅持香草代碼。是否可以在MaskPass中解析陰影貼圖的寫入而無需修改源代碼?

回答

0

我幾周前在我們的r86本地版本中解決了這個問題。我通過向WebGLRenderer傳遞了一個noShadows bool /參數來完成此操作,該控件調用WebGLShadowMap.render。然而,最近對r87的更新引發了這個問題,因爲WebGLShadowMap已被可擴展地修改。