शैडो मैपिंग में प्रोजेक्टिव एलियासिंग को हैंडल करना


15

मैं 3 डी प्रिंटिंग के लिए नन्हा भवन बनाने के लिए सरल प्रक्रियात्मक 3 डी मॉडलिंग के साथ काम कर रहा हूं। एक उदाहरण:

ईमारत


मॉडल को अधिक पठनीय ऑनस्क्रीन बनाने के लिए, मैंने एकल दिशात्मक प्रकाश के लिए बुनियादी छाया मानचित्रण लागू किया है। चूँकि मेरा दृश्य नहीं बदल रहा है, मैं सिर्फ छाया मानचित्र के अक्ष संरेखित बॉक्स का उपयोग करके एक बार छाया मानचित्र प्रस्तुत करता हूँ ताकि यह पता लगाया जा सके कि छाया मानचित्र की सीमा क्या होनी चाहिए। छाया और सीमाएं ऐसी दिखती हैं, जैसे मैंने सभी मेट्रिसेस को सही कर लिया है, लेकिन थोड़ा करीब आने से भयानक लगता है:

टॉवर का क्लोजअप

मैंने जो कुछ किया है, उसे पढ़ने से मुझे समझ में आ रहा है कि मैं इसके बारे में क्या कर रहा हूं, लेकिन रैग्ड एज, जो कि मेरा मानना ​​है कि यह प्रोजेक्टिव एलियासिंग का एक रूप है, इतनी खराब दिखती है कि मुझे लगता है कि मेरे मूल कार्यान्वयन में कुछ गलत है।

मैंने छाया पाठ सीमाएँ दिखाने के लिए पिक्सेल शेडर को हैक किया:

टेक्सल बाउंड्रीज़ दिखा रहा है

मुझे बनावट में बिलिनियर फ़िल्टरिंग मिला है (इसके बिना, मुझे गंभीर छाया मुँहासे मिलती है)। अफसोस की बात है, पीसीएफ में मेरा प्रयास भी विफल रहा - यह सिर्फ रैगिंग के रूप में दिखता है:

यहाँ छवि विवरण दर्ज करें

यहाँ बिलिनियर फ़िल्टरिंग के साथ एकल नमूना मामला अक्षम किया गया है:

यहाँ छवि विवरण दर्ज करें

क्या यह "विशिष्ट" प्रोजेक्टिव अलियासिंग जैसा दिखता है? छाया नक्शा के गतिशील प्रतिपादन, दृश्य का उपयोग करके दृश्य के लिए चिपके हुए, संभवतः कैस्केडिंग के साथ, समस्या का समाधान कर सकते हैं?

संपादित करें: बिलिनियर फ़िल्टरिंग का एक क्लोज़अप जोड़ना, छाया की तुलना पोस्ट करना, बस यह दिखाने के लिए कि मुझे क्या मिलता है। खराब छाया मुँहासे आंतरिक किनारों के कारण दिखाई देती है; मैं स्टैक किए गए वर्चुअल ब्लॉक के साथ मॉडलिंग कर रहा हूं और एक उचित यूनियन ऑपरेशन नहीं कर रहा हूं। मेरे पढ़ने से, पॉलीहेड्रा पर बूलियन संचालन को लागू करना तुच्छ नहीं है, लेकिन मुझे स्थैतिक छाया संस्करणों को लागू करने और साथ ही कुछ 3D प्रिंटिंग सॉफ़्टवेयर के लिए साफ करने की अनुमति देगा।

बिलिनियर फ़िल्टरिंग

जवाबों:


10

स्वीकार्य गुणवत्ता के साथ छाया मानचित्रण काफी एक यात्रा है। तो आपने पहला चरण लागू किया - मूल छाया नक्शा जो पूरे दृश्य को सांख्यिकीय रूप से शामिल करता है। इसका अर्थ है कि लाइट व्यू स्पेस में शैडो मैप टेक्सल साइज, कैमरा व्यू स्पेस रेश्यो में दिए गए सीन के टेक्सल साइज का साइज काफी बड़ा है, जिससे अलकिंग होती है। इस अनुपात को 1: 1 के करीब लाने के लिए आपके द्वारा बताई गई तकनीकें हैं:

  • सबसे आसान तरीका आपके छाया मानचित्र का आकार बढ़ रहा है, फिर भी इष्टतम प्रदर्शन के साथ मूल्य खोजने के लिए,
  • कैमरा व्यू फ्रुम के साथ संरेखित छाया नक्शा। तब छाया मानचित्र में दृश्य का छोटा हिस्सा शामिल होता है, इसलिए यह अलियासिंग को कम करता है,
  • इसे CSM में सुधार किया जा सकता है, जो ऐसा ही करता है, लेकिन आपको प्रत्येक टुकड़ा के केंद्र बिंदु पर आधारित प्रकाश दृश्य मैट्रिक्स के विभिन्न केंद्र स्थिति के साथ कैस्केड के प्रत्येक दृश्य को प्रस्तुत करने की आवश्यकता होती है।

छाया के किनारे को चौरसाई करने की कुछ बुनियादी तकनीकें:

  • स्पष्ट रूप से पीसीएफ, लेकिन क्या यह आपके पीसीएफ कार्यान्वयन को हार्डवेयर पीसीएफ (ओपेंगल में - उपयोग करके sampler2DShadow) के साथ संयोजित करने की सिफारिश की गई है । इससे आपकी ओर से कम लूप पुनरावृत्तियों और सस्ता पीसीएफ होगा,
  • घूर्णन पॉइसन डिस्क का उपयोग करके शोर के लिए किनारों के अवरोध का आदान-प्रदान किया जा सकता है। छाया मानचित्र से नमूने के लिए उपयोग किए जाने वाले नमूनों को पीसीएफ लूप के प्रत्येक पुनरावृत्ति के साथ यादृच्छिक रूप से घुमाया जाता है।

आप एज स्मूथिंग तकनीकों पर भी शोध कर सकते हैं जैसे:

PCF बेसिक तकनीक छाया मुँहासे से ग्रस्त है जिसे छाया परीक्षण में कुछ ऑफसेट लागू करके ठीक किया जा सकता है। इस ऑफसेट के आकार की गणना भी अनुसंधान का क्षेत्र है ।

अन्य अधिक उन्नत छाया मानचित्र विधियों में शामिल हैं:

  • एक्सपोनेंशियल शैडो मैप्स और वेरिएंट शैडो मैप्स - ज्यादातर मामलों में शैडो मुंहासों से पीड़ित नहीं होते हैं और बिना ब्लॉकनेस के चिकने किनारों की पेशकश करते हैं, लेकिन कुछ हल्के लीक होने की स्थिति में,
  • एक्सपोनेंशियल वेरिएंट शैडो मैप्स - शायद 2 डी डेप्थ मैप शैडो मैपिंग की सबसे उन्नत तकनीक, वीएसएम की बड़ी चिकनाई को जोड़ती है और मेमोरी उपयोग दोगुना करने की लागत में, हल्के लीक को हल करती है,
  • प्रतिशत क्लोजर सॉफ्ट शैडो - अलग-अलग पेनम्ब्रा आकार के साथ पारंपरिक छाया मानचित्रों को बढ़ाने की बुनियादी तकनीक,
  • मल्टीव्यू शैडो मैप्स - भिन्न तकनीक के कई शैडो मैप्स , जो एरिया लाइट पर व्यवस्थित होते हैं, अलग-अलग पेनुंब्रा साइज के साथ यथार्थवादी सॉफ्ट शैडो की गणना के लिए,
  • डीप शैडो मैप्स - छाया के साथ वॉल्यूमेट्रिक स्कैटरिंग बढ़ाने के लिए,
  • वास्तविक समय किरण ने छाया का पता लगाया - शायद भविष्य।

आप पीसीएफ के साथ असफल नहीं हुए, ऐसा लगता है कि :)

काश, कैमरा व्यू स्पेस में छाया मानचित्र पर गौसियन ब्लर लगाने का एक तरीका होता, लेकिन यह अपेक्षा के अनुरूप काम नहीं करता।


इस टिप्पणी का एक हिस्सा आपको अपने जवाब के लिए धन्यवाद दे रहा है, इसलिए मैंने सोचा कि मैं आपको बता दूं क्योंकि आपको वहां से कोई सूचना नहीं मिलेगी।
ट्राइकोप्लाक्स

हां, मैंने इसे देखा लेकिन धन्यवाद।
narthex

1

आपने कहा है कि "... बनावट में बिलिनियर फ़िल्टरिंग ..."। ऐसा लगता है कि आप छाया मानचित्र के गहराई मूल्यों को प्रक्षेपित कर रहे हैं। छाया मानचित्र के साथ प्रक्षेप का उपयोग करने का सही तरीका यह है कि इसे छाया परीक्षणों के परिणामों पर लागू किया जाए (जहां तक ​​मुझे याद है, ओपनजीएल समर्थन करता है)। तुम भी PCF के साथ छाया परीक्षणों के परिणामों के प्रक्षेप को जोड़ सकते हो, जो बेहतर परिणाम देगा। हालाँकि, जैसा कि आपने देखा होगा, अलियासिंग एक प्लेग है जो हमेशा छाया मानचित्रण का पीछा करता है :)

हालांकि मैं समझता हूं कि आप छाया मानचित्रण के बारे में समाधान खोज रहे हैं (यहां तक ​​कि क्योंकि यह लागू करने के लिए काफी सरल है), क्या आपने कभी छाया संस्करणों का उपयोग करने पर विचार किया है? यह लागू करने के लिए बहुत अधिक जटिल है, लेकिन अलियासिंग से बिल्कुल भी पीड़ित नहीं है, और मुझे लगता है कि आपके उद्देश्यों को अच्छी तरह से फिट होगा।


उत्तर के लिए बहुत बहुत धन्यवाद! मैं जिन परिणामों की तलाश कर रहा हूं, उन्हें प्राप्त करने के लिए, छाया संस्करणों पर स्विच करना उचित हो सकता है। "इंटरपोलेशन" के तहत प्रदान किया गया कोडफ्लो लिंक बहुत उपयोगी है - धन्यवाद!
डैनियल एम गेसेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.