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