2017-05-12 1 views
0

Die Schatten in meiner Szene werden durch die Aufnahme eines MaskPass durcheinander gebracht (obwohl es keine Schatten gibt, die Objekte oder Lichter in die Szene/Cam werfen, auf die der MaskPass verweist).MaskPass Shadows deaktivieren 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); 

Ich glaube, mein Problem zu How to turn off shadows in MaskPass? verwandt ist (ich dazu sagen würde, aber nicht über die Straße cred/50 rep hier). Es scheint, dass zusätzliche Draw-Schattenzüge ausgelöst werden und mein THREE.ShadowMaterial/shadow quad beginnt sich zu füllen.

Ich habe den Quelltext von three.js bereits ein wenig bearbeitet, aber wir würden uns wenn möglich lieber an den Vanilla-Code halten. Ist es möglich, Shadow Map Writing im MaskPass ohne Quellcodeänderungen zu lösen?

Antwort

0

Ich habe dies vor ein paar Wochen in unserer lokalen Version von R86 behoben. Ich tat das, indem ich ein noShadows Bool/Argument zu WebGLRenderer passierte, das die Steueraufrufe zu WebGLShadowMap.render abzweigte. Ein aktuelles Update für r87 bringt das Problem jedoch zurück, seit WebGLShadowMap erweitert wurde.