रियल-टाइम ग्राफिक्स अप्रत्यक्ष प्रकाश का अनुकरण करने के लिए कम्प्यूटेशनल खर्च से निपटने के लिए कई प्रकार के अनुमान लगाते हैं, रनटाइम प्रदर्शन और लाइटिंग निष्ठा के बीच व्यापार करते हैं। यह सक्रिय अनुसंधान का एक क्षेत्र है, जिसमें हर साल नई तकनीकें दिखाई देती हैं।
परिवेश प्रकाश व्यवस्था
सीमा के सबसे सरल अंत में, आप परिवेश प्रकाश व्यवस्था का उपयोग कर सकते हैं : एक वैश्विक, सर्वदिशात्मक प्रकाश स्रोत जो दृश्य में प्रत्येक वस्तु पर लागू होता है, वास्तविक प्रकाश स्रोतों या स्थानीय दृश्यता के संबंध में। यह बिल्कुल सटीक नहीं है, लेकिन एक कलाकार के लिए ट्विस्ट करना बेहद सस्ता है, और यह दृश्य और वांछित दृश्य शैली के आधार पर ठीक लग सकता है।
बुनियादी परिवेश प्रकाश व्यवस्था के सामान्य विस्तार में शामिल हैं:
- गोलाकार रंग को अलग-अलग करें, जैसे गोलाकार हार्मोनिक्स (SH) या एक छोटे से क्यूबैप का उपयोग करना , और प्रत्येक शीर्ष या पिक्सेल के सामान्य वेक्टर के आधार पर शेडर में रंग को । यह विभिन्न झुकावों की सतहों के बीच कुछ दृश्य भेदभाव की अनुमति देता है, यहां तक कि जहां कोई प्रत्यक्ष प्रकाश उन तक नहीं पहुंचता है।
- पूर्व-गणना किए गए शीर्ष AO, AO बनावट नक्शे, AO फ़ील्ड और स्क्रीन-स्पेस AO (SSAO) सहित परिवेश रोड़ा (AO) तकनीक लागू करें । ये सभी छेद और दरारें जैसे क्षेत्रों का पता लगाने का प्रयास करके काम करते हैं जहां अप्रत्यक्ष प्रकाश में उछाल की संभावना कम होती है, और वहां परिवेश प्रकाश को कम कर देता है।
- परिवेश स्पेक्युलर परावर्तन प्रदान करने के लिए एक पर्यावरण कक्ष जोड़ें । एक सभ्य संकल्प (128² या 256 face प्रति चेहरे) के साथ एक क्यूबैप घुमावदार, चमकदार सतहों पर स्पेकुलर के लिए काफी आश्वस्त हो सकता है।
पके हुए अप्रत्यक्ष प्रकाश
अगली "स्तर", इसलिए बोलने के लिए, तकनीकों में बेकिंग (पूर्व-कंप्यूटिंग ऑफ़लाइन) में एक दृश्य में अप्रत्यक्ष प्रकाश व्यवस्था का कुछ प्रतिनिधित्व शामिल है। बेकिंग का लाभ यह है कि आप कम वास्तविक समय कम्प्यूटेशनल खर्च के लिए बहुत उच्च-गुणवत्ता वाले परिणाम प्राप्त कर सकते हैं, क्योंकि सभी कठिन हिस्से बेक में किए जाते हैं। व्यापार-बंद यह है कि बेक प्रक्रिया के लिए आवश्यक समय स्तर के डिजाइनरों की पुनरावृत्ति दर को नुकसान पहुँचाता है; अधिक स्मृति और डिस्क स्थान को प्री-कम्यूटेड डेटा को संग्रहीत करने की आवश्यकता होती है; वास्तविक समय में प्रकाश व्यवस्था को बदलने की क्षमता बहुत सीमित है; और सेंकना प्रक्रिया केवल स्थैतिक स्तर की ज्यामिति से जानकारी का उपयोग कर सकती है, इसलिए गतिशील वस्तुओं जैसे कि पात्रों से अप्रत्यक्ष प्रकाश प्रभाव छूट जाएगा। आज भी AAA खेलों में पके हुए प्रकाश का बहुत व्यापक रूप से उपयोग किया जाता है।
बेक स्टेप किसी भी वांछित रेंडरिंग एल्गोरिथ्म का उपयोग कर सकता है जिसमें पथ अनुरेखण, रेडियोसिटी, या गेम इंजन का उपयोग करके खुद को क्यूबैप्स (या हेमिक्यूब ) प्रदान करना है।
परिणामों को स्तर में स्थिर ज्यामिति पर लागू बनावट ( लाइटमैप ) में संग्रहीत किया जा सकता है, और / या उन्हें एसएच में भी परिवर्तित किया जा सकता है और वॉल्यूमेट्रिक डेटा संरचनाओं में संग्रहीत किया जा सकता है, जैसे कि विकिरण वॉल्यूम (वॉल्यूम टेक्सचर जहां प्रत्येक टेक्सल एसएच जांच स्टोर करता है) या टेट्राहेड्रल मेश । फिर आप उस डेटा संरचना से रंगों को देखने और प्रक्षेपित करने के लिए शेड्स का उपयोग कर सकते हैं और उन्हें आपकी प्रदान की गई ज्यामिति पर लागू कर सकते हैं। वॉल्यूमेट्रिक दृष्टिकोण, पके हुए प्रकाश को गतिशील वस्तुओं के साथ-साथ स्थिर ज्यामिति पर लागू करने की अनुमति देता है।
लाइटमैप्स आदि का स्थानिक रिज़ॉल्यूशन मेमोरी और अन्य व्यावहारिक बाधाओं द्वारा सीमित होगा, इसलिए आप उच्च आवृत्ति वाले विवरण को जोड़ने के लिए कुछ एओ तकनीकों के साथ पके हुए प्रकाश को पूरक कर सकते हैं जो पके हुए प्रकाश प्रदान नहीं कर सकते हैं, और गतिशील वस्तुओं पर प्रतिक्रिया देने के लिए (जैसे कि किसी चलते चरित्र या वाहन के नीचे अप्रत्यक्ष प्रकाश को काला करना)।
प्रीकम्प्यूटेड रेडिएशन ट्रांसफर (पीआरटी) नामक एक तकनीक भी है , जो अधिक गतिशील प्रकाश व्यवस्था की स्थिति को संभालने के लिए बेकिंग का विस्तार करती है। पीआरटी में, अप्रत्यक्ष प्रकाश को स्वयं पकाने के बजाय, आप प्रकाश के कुछ स्रोत से स्थानांतरण फ़ंक्शन को सेंकते हैं - आमतौर पर आकाश - परिणामी दृश्य में अप्रत्यक्ष प्रकाश के लिए। स्थानांतरण फ़ंक्शन को एक मैट्रिक्स के रूप में दर्शाया जाता है जो प्रत्येक सेंक नमूना बिंदु पर स्रोत से गंतव्य SH गुणांक में परिवर्तित होता है। यह प्रकाश वातावरण को बदलने की अनुमति देता है, और दृश्य में अप्रत्यक्ष प्रकाश जवाब दे सकता है। सुदूर रो 3 और 4 ने दिन के प्रत्येक समय में आकाश के रंगों के आधार पर अलग-अलग प्रकाश व्यवस्था के साथ एक सतत दिन-रात चक्र की अनुमति देने के लिए इस तकनीक का उपयोग किया ।
बेकिंग के बारे में एक अन्य बिंदु: फैलाना और स्पेक्युलर अप्रत्यक्ष प्रकाश के लिए अलग-अलग बेक्ड डेटा होना उपयोगी हो सकता है। क्यूबैप्स स्पेक्युलर के लिए एसएच की तुलना में बहुत बेहतर काम करते हैं (क्योंकि क्यूबैप्स के पास बहुत अधिक कोणीय विवरण हो सकता है), लेकिन वे बहुत अधिक मेमोरी भी लेते हैं, इसलिए आप उन्हें एसएच नमूने के रूप में घने रूप में रखने का जोखिम नहीं उठा सकते हैं।लंबन सुधार का उपयोग उसके लिए कुछ हद तक बनाने के लिए किया जा सकता है, जो घनीभूत रूप से क्यूबैप को उसके प्रतिबिंबों को उसके चारों ओर की ज्यामिति के लिए अधिक प्रबल महसूस करा रहा है।
पूरी तरह से वास्तविक समय की तकनीक
अंत में, GPU पर पूरी तरह से गतिशील अप्रत्यक्ष प्रकाश की गणना करना संभव है। यह प्रकाश या ज्यामिति के मनमाने ढंग से परिवर्तनों का वास्तविक समय में जवाब दे सकता है। हालांकि, फिर से रनटाइम परफॉर्मेंस, लाइटिंग फिडेलिटी और सीन साइज के बीच एक ट्रेडऑफ है। इन तकनीकों में से कुछ को काम करने के लिए गोमांस जीपीयू की आवश्यकता होती है, और केवल सीमित दृश्य आकारों के लिए संभव हो सकता है। वे आम तौर पर अप्रत्यक्ष प्रकाश के केवल एक उछाल का भी समर्थन करते हैं।
- एक गतिशील वातावरण क्यूबैप, जहां क्यूबमैप के चेहरे को एक चुने हुए बिंदु के चारों ओर छह कैमरों का उपयोग करके प्रत्येक फ्रेम को फिर से प्रस्तुत किया जाता है, एक वस्तु के लिए शालीनतापूर्वक अच्छे परिवेश प्रतिबिंब प्रदान कर सकता है। यह अक्सर रेसिंग गेम में खिलाड़ी की कार के लिए उपयोग किया जाता है, उदाहरण के लिए।
- स्क्रीन-स्पेस वैश्विक रोशनी , एसएसएओ का एक विस्तार जो प्रसंस्करण के बाद की स्क्रीन में स्क्रीन पर आस-पास के पिक्सल्स से बाउंस लाइटिंग इकट्ठा करता है।
- स्क्रीन-स्पेस रेअट्रैड प्रतिबिंब प्रतिबिंब -पोस्ट के माध्यम से गहराई बफर के माध्यम से किरण-मार्चिंग द्वारा काम करता है। यह काफी उच्च गुणवत्ता वाले प्रतिबिंब प्रदान कर सकता है जब तक कि प्रतिबिंबित वस्तुएं ऑन-स्क्रीन नहीं होती हैं।
- त्वरित रेडियोधर्मितासीपीयू का उपयोग करके किरणों को दृश्य में ट्रेस करके, और प्रत्येक किरण हिट बिंदु पर एक बिंदु प्रकाश रखकर, जो लगभग उसी किरण से सभी दिशाओं में आउटगोइंग परावर्तित प्रकाश का प्रतिनिधित्व करती है, में काम करती है। वर्चुअल प्वाइंट लाइट्स (VPLs) के रूप में जानी जाने वाली ये कई लाइट्स, फिर सामान्य तरीके से GPU द्वारा प्रस्तुत की जाती हैं।
- चिंतनशील छाया मानचित्र (RSM) तत्काल रेडियोधर्मिता के समान हैं, लेकिन VPLs प्रकाश के दृष्टिकोण से दृश्य (छाया मानचित्र की तरह) का प्रतिपादन करके और इस मानचित्र के प्रत्येक पिक्सेल पर एक VPL रखकर उत्पन्न होते हैं।
- प्रकाश प्रसार संस्करणों में पूरे दृश्य में एसएच जांच के 3 डी ग्रिड शामिल हैं। RSM को रेंडर किया जाता है और परावर्तक सतहों के निकटतम एसएच जांच में उछाल को "इंजेक्ट" किया जाता है। फिर बाढ़-भराव जैसी प्रक्रिया प्रत्येक एसएच जांच से ग्रिड में आसपास के बिंदुओं तक प्रकाश का प्रचार करती है, और इसका परिणाम दृश्य में प्रकाश व्यवस्था को लागू करने के लिए किया जाता है। इस तकनीक को वॉल्यूमेट्रिक लाइट स्कैटरिंग के लिए भी बढ़ाया गया है ।
- Voxel शंकु अनुरेखण दृश्य ज्यामिति (संभवतः अलग-अलग स्वरों का उपयोग करके, कैमरे के पास महीन और दूर दूर तक का उपयोग करके) का काम करता है, फिर RSM से प्रकाश को voxel ग्रिड में इंजेक्ट करता है। मुख्य दृश्य को प्रस्तुत करते समय, पिक्सेल शेडर एक "शंकु ट्रेस" करता है - धीरे-धीरे बढ़ते त्रिज्या के साथ किरण-मार्च - या तो फैलाना या स्पेक्युलर छायांकन के लिए आने वाली रोशनी इकट्ठा करने के लिए voxel ग्रिड के माध्यम से।
यथार्थवादी दृश्य आकार, या अन्य सीमाओं तक स्केलिंग की समस्याओं के कारण इनमें से अधिकांश तकनीकों का आज खेलों में व्यापक रूप से उपयोग नहीं किया जाता है। अपवाद स्क्रीन-स्पेस प्रतिबिंब है, जो बहुत लोकप्रिय है (हालांकि यह आमतौर पर क्यूबैक के साथ एक कमबैक के रूप में उपयोग किया जाता है, उन क्षेत्रों के लिए जहां स्क्रीन-स्पेस भाग विफल हो जाता है)।
जैसा कि आप देख सकते हैं, वास्तविक समय अप्रत्यक्ष प्रकाश एक बहुत बड़ा विषय है और यहां तक कि यह (बल्कि लंबा!) उत्तर केवल आगे पढ़ने के लिए 10,000-फुट अवलोकन और संदर्भ प्रदान कर सकता है। आपके लिए कौन सा दृष्टिकोण सबसे अच्छा है, यह आपके विशेष एप्लिकेशन के विवरण पर बहुत निर्भर करेगा कि आप कौन सी बाधाओं को स्वीकार करने के लिए तैयार हैं, और आपको इसमें कितना समय लगाना है।