2013-05-25 8 views
10

मैं एक साधारण थ्री.जेएस दृश्य (इस क्षेत्र में नौसिखिया) के साथ प्रयोग कर रहा हूं। मैं थ्री.जेएस वेबजीएल रेन्डरर का उपयोग कर रहा हूं और एक विमान स्थापित किया है, एक घन जो छाया और दिशात्मक प्रकाश स्रोत को रोकता है। परिणाम छवि में दिखाया गया है।क्रोम/मैकोज़ में थ्री.जेएस छाया की गुणवत्ता?

मैं कैसे करूँ:

1. बढ़ाएँ छाया प्रतिपादन की गुणवत्ता?
2. जंजीर किनारों से छुटकारा पाएं?

मैं सच करने के लिए एंटीलायज़िंग़ की स्थापना की है, लेकिन यह किसी भी ब्राउज़र में मदद करने के लिए प्रतीत नहीं होता ...

रेंडरर = नए THREE.WebGLRenderer ({antialias: सच});

enter image description here

उत्तर

18

आप दो काम कर सकें। सबसे पहले एक रेंडरर

renderer.shadowMapType = THREE.PCFSoftShadowMap; // options are THREE.BasicShadowMap | THREE.PCFShadowMap | THREE.PCFSoftShadowMap 

गुण समूह और फिर आप भी साथ अपने प्रकाश की shadowmap आकार में वृद्धि कर सकते हैं:

light.shadowMapWidth = 1024; // default is 512 
light.shadowMapHeight = 1024; // default is 512 
+0

shadowMapType मददगार था, धन्यवाद! छाया मैप आयामों को बढ़ाने से कोई प्रभाव नहीं पड़ता है। जंजीर किनारों पर कोई विचार? कैनवास तत्व के आकार को दो बार दृश्य बनाना थोड़ा सा मदद करता है। – dani

+0

एंटीअलियास को सत्य में सेट करना एक फर्क पड़ता है। लेकिन एक अंतिम उपाय के रूप में आप प्रभाव FXAA ShaderPass भी आज़मा सकते हैं जिसमें से आप उदाहरण फ़ोल्डर में कार्यान्वयन देख सकते हैं। कई हैं (webgl_lines_colors.html, webgl_geometry_text.html) – gaitat

+1

छाया कैमरे के आयामों को समायोजित करने में भी मदद करनी चाहिए। आपको छाया कैमरे के दृश्य को जितना संभव हो सके उतना छोटा होना चाहिए, ताकि यह मुश्किल से आपके दृश्य को शामिल कर सके। इस तरह आप उपलब्ध संकल्प और गहराई संकल्प का लाभ उठाते हैं। छाया कैमरेनियर और छाया कैमरेफायर पहला संदिग्ध होगा। दिशात्मक रोशनी के मामले में, shadowCameraLeft, top, दाएं, नीचे इत्यादि जैसे कुछ भी थे – yaku

संबंधित मुद्दे