आस्थगित प्रकाश व्यवस्था पर विचार करें। संक्षेप में, आस्थगित प्रकाश व्यवस्था एक तकनीक है जो स्क्रीनस्पेस लाइटमैप की गणना करने के लिए आस्थगित छायांकन के एक कम संस्करण का उपयोग करती है। एक दूसरे पास में, प्रकाश सूचना के रूप में स्क्रीनस्पेस लाइटमैप का उपयोग करके ज्यामिति को फिर से प्रस्तुत किया जाता है।
इस तकनीक का उपयोग जी-बफर के आकार को कम करने के लिए किया जाता है, क्योंकि कम विशेषताओं की आवश्यकता होती है। यह आपको फायदा भी पहुँचाता है, कि जी-बफर और स्क्रीनस्पेस लाइटमैप स्क्रीन की तुलना में कम रिज़ॉल्यूशन का हो सकता है।
मैंने एक सख्त GLES 2.0 आधारित रेंडरर (हालांकि एक प्रयोगात्मक एक) को लागू किया था, और मैं जी-बफर को एक RGBA बनावट के नीचे उबालने में कामयाब रहा (हां, मैंने रेंडरबफर के बजाय एक बनावट 2 डी का उपयोग किया)। इसमें स्क्रीन स्पेस सामान्य नक्शा + अल्फा चैनल में गहराई बफर (जो एक लघुगणक का उपयोग करके संकुचित किया गया था, जहां तक मुझे याद है)।
स्थिति विशेषताओं (जिसे यहां दुनिया कहा जाता है) की गणना इस तथ्य का उपयोग करते हुए प्रकाश पास के दौरान की जा सकती है, कि एक सुस्पष्ट प्रक्षेपण में, .xy को .z द्वारा विभाजित किया गया है , ताकि:
x यचआर यू एस टी यू एम= एक्स वाईw o r l d/ zw o r l d
मैंने स्थिति विशेषता के xy को अनुमानित किया है :
x यw o r l d= एक्स वाईचआर यू एस टी यू एम∗ zw o r l d
नोट: मुझे प्रोजेक्शन मैट्रिक्स की सेटिंग्स के आधार पर आगे के समायोजन करने थे।
इसके अलावा ध्यान देने योग्य है कि मैं छोड़ करने में सक्षम था, है .z , सामान्य वैक्टर की घटक के बाद से मैं फिर से संगठित कर सकता .z से .xy के बाद से सामान्य वेक्टर ताकि सामान्यीकृत है:
एक्स2+ य2+ z2----------√= 1एक्स2+ य2+ z2= 1z2= 1 - ( एक्स2+ य2)z= 1 - ( एक्स2+ य2)-----------√
इस तकनीक का उपयोग करते हुए, मैं अपने RGBA G-Buffer में एक और चैनल को मुक्त करने में सक्षम था और इसका उपयोग स्क्रीन स्पेस स्पेक्युलर-मैप (या चमक, यदि आप करेंगे) को स्टोर करने के लिए किया।