आधुनिक गेम इंजन ब्लेंडर के "धीमे" प्रतिपादन के वास्तविक समय के प्रतिपादन को कैसे प्राप्त करते हैं?


90

मैं दोनों gamedev और ब्लेंडर के लिए नया हूँ, और वहाँ कुछ मैं हिला नहीं सकता है:

ब्लेंडर में, एक एकल रेंडर (यहां तक ​​कि अधिक उन्नत साइकिल रेंडरर का उपयोग करके) मेरी मशीन पर 45 सेकंड तक का समय ले सकता है। लेकिन जाहिर है, एक गेम में, आपके पास अद्भुत ग्राफिक्स हो सकते हैं, और इसलिए प्रतिपादन स्पष्ट रूप से लगातार हो रहा है, कई बार वास्तविक समय में एक सेकंड।

तो मैं भी सोच रहा हूं कि डिस्कनेक्ट क्या है, "धीमी" के बारे में कैसे ब्लेंडर के रेंडरर्स लगते हैं, बनाम गेम इंजन वास्तविक समय (या वास्तविक समय के निकट) रेंडरिंग कैसे हासिल करते हैं।


3
रियल-टाइम रेंडरिंग अपने आप में एक बहुत बड़ा विषय है, इसके बारे में बहुत सी किताबें लिखी गई हैं ("रियल-टाइम रेंडरिंग" सहित)। और साइकिल की तरह दाता खेल इंजन में 3 डी दाता की तुलना में अलग पूरी तरह से काम करते हैं - क्या तुम सच में उनकी तुलना नहीं कर सकते हैं
UnholySheep

42
@UnholySheep बेशक आप उनकी तुलना कर सकते हैं। कोई और कैसे अंतर को समझाएगा, इस सवाल का जवाब देने के लिए?
user985366

2
@ 10Replies लेकिन यह सवाल उस साइट पर सामयिक नहीं होगा।
GiantCowFilms

3
@ 10Replies: जबकि ओपी ब्लेंडर का उल्लेख करता है, यह सवाल अनिवार्य रूप से उबलता है कि वास्तविक समय के गेम इंजन लगभग 3 डी दृश्यों को लगभग फोटो-यथार्थवादी 3 डी रेंडरर्स (जैसे ब्लेंडर, लेकिन कई अन्य लोगों) की तुलना में तेजी से रेंडर क्यों करते हैं। ध्यान दें कि यह भी स्वीकृत उत्तर द्वारा दिया गया प्रश्न है। इस बात को ध्यान में रखते हुए, मैं इस बात पर सहमत हूं कि गेम डेवलपमेंट पर प्रश्न यहाँ अधिक ऑन-टॉपिक है , जहाँ ब्लेंडर के बजाय सामान्य गेम डेवलपमेंट टेक्नोलॉजी के बारे में प्रश्न पूछे जा सकते हैं , जहाँ प्रश्न विशेष रूप से ब्लेंडर के लिए अधिक विशिष्ट होते हैं।
या मैपर

3
मुझे लगता है कि यहाँ रहस्य यह है कि आश्चर्यजनक सटीक होना जरूरी नहीं है। 3 डी रेंडरिंग में प्रयुक्त गणित के लिए तेज़ सन्निकटन हैं, जैसे InvSqrt
दिमित्री ग्रिगोरीव

जवाबों:


115

रियल-टाइम रेंडरिंग, यहां तक ​​कि आधुनिक रियल-टाइम रेंडरिंग, ट्रिक्स, शॉर्टकट्स, हैक्स और अंदाजों का ग्रैब-बैग है।

उदाहरण के लिए छाया लें।

हमारे पास अभी भी रोशनी की एक मनमानी संख्या और मनमाने ढंग से जटिल वस्तुओं से वास्तविक समय छाया का प्रतिपादन करने के लिए पूरी तरह से सटीक और मजबूत तंत्र नहीं है। हमारे पास छाया मानचित्रण तकनीकों पर कई प्रकार हैं, लेकिन वे सभी छाया मानचित्रों के साथ अच्छी तरह से ज्ञात समस्याओं से ग्रस्त हैं और यहां तक ​​कि इन के लिए "फ़िक्सेस" वास्तव में सिर्फ काम-का-संग्रह और ट्रेड-ऑफ़्स हैं (यदि अंगूठे के एक नियम के रूप में) आप किसी भी चीज़ में "गहराई पूर्वाग्रह" या "बहुभुज ऑफसेट" देखते हैं तो यह एक मजबूत तकनीक नहीं है)।

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

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


14
उल्लेख करने के लिए एक और बिंदु यह है कि सभी डेटा को एक गेम बनाने के लिए उपयोग की जाने वाली गणना की मात्रा को एक क्षेत्र के विचारों को जल्दी से प्रस्तुत करने की आवश्यकता होगी जो एक दृश्य को प्रस्तुत करने के लिए आवश्यक गणना की मात्रा से अधिक परिमाण के आदेश हो सकते हैं। यदि किसी क्षेत्र के विचारों को प्रस्तुत करना बिना किसी पूर्वाभास के एक सेकंड का समय लेगा, लेकिन कुछ पूर्वकल्पित डेटा में कटौती की जा सकती है, तो 1/100 सेकंड में, पूर्वकाल पर 20 मिनट खर्च करना उपयोगी हो सकता है यदि वास्तविक समय के खेल में विचारों की आवश्यकता होगी, लेकिन यदि एक बस एक दस सेकंड 24fps फिल्म चाहता है यह चार मिनट खर्च करने के लिए बहुत तेजी से होता है ...
सुपर स्टार

9
... प्रति सेकंड एक दर पर 240 आवश्यक दृश्य उत्पन्न करना।
सुपरकैट

@ सुपरकैट और इस वजह से आपके रेंडर बहुत जल्दबाज़ी से मुक्त होते हैं और आप इस प्रक्रिया पर बहुत नियंत्रण प्राप्त करते हैं। आप रेंडर करने के लिए गेम इंजन का उपयोग कर सकते हैं ... यदि आप सुविधाओं पर बलिदान करने के लिए तैयार होंगे। लेकिन जैसा कि आपने कहा कि इसके लायक नहीं है।
पूजा

इसका एक महत्वपूर्ण उदाहरण जो मुझे याद आ सकता है, वह है मूल क्वेक इंजन (~ 1996), जो बेहद समय लेने वाली पूर्व-गणना तकनीकों के संयोजन का उपयोग करते हुए बहुत सीमित मशीनों पर अपेक्षाकृत मन उड़ाने वाले वास्तविक समय के 3D ग्राफिक्स को प्राप्त करने में सक्षम था । समय से पहले बसपा के पेड़ और पूर्व-प्रदत्त प्रकाश प्रभाव उत्पन्न हुए; उस इंजन के लिए एक स्तर डिज़ाइन करना आमतौर पर घंटों (आमतौर पर रात) में मानचित्र संकलन उपकरण के समाप्त होने की प्रतीक्षा में शामिल होता है। ट्रेड-ऑफ, अनिवार्य रूप से, संलेखन समय की कीमत पर प्रतिपादन समय को कम कर देता था।
जेसन सी

(ओरिजिनल डूम इंजन [1993] में भी इसी तरह का अभिप्राय था। मैराथन के रूप में अच्छी तरह से हो सकता है, लेकिन मुझे याद नहीं है, मुझे मैराथन के स्तर का निर्माण याद है, लेकिन मुझे याद नहीं है कि क्या शामिल था।)
जेसन सी

109

वर्तमान उत्तर ने इसमें शामिल सामान्य मुद्दों की व्याख्या करने का एक बहुत अच्छा काम किया है, लेकिन मुझे लगता है कि यह एक महत्वपूर्ण तकनीकी विवरण याद करता है: ब्लेंडर का "साइकिल" रेंडर इंजन एक अलग प्रकार का इंजन है जो अधिकांश गेम का उपयोग करता है।

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

बहुभुज प्रतिपादन

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

रेंडरिंग रेंडरिंग


कृपया ध्यान दें कि संक्षिप्तता और बहुभुज प्रतिपादन के मेरे संक्षिप्त विवरण संक्षिप्तता के लिए अत्यधिक छीन लिए गए हैं। यदि आप उन तकनीकों के बारे में अधिक जानना चाहते हैं जो मैं सुझाता हूं कि आप एक गहन ट्यूटोरियल या पुस्तक की तलाश करें क्योंकि मुझे संदेह है कि बहुत से ऐसे लोग हैं जिन्होंने मुझे समझा सकते हैं की तुलना में बेहतर स्पष्टीकरण लिखे हैं।

यह भी ध्यान दें कि 3 डी रेंडरिंग में कई तरह की तकनीकें शामिल हैं और कुछ गेम वास्तव में कुछ उद्देश्यों के लिए रीक्रिएटिंग की विविधताओं का उपयोग करते हैं।


3
एक बहुत अच्छे बिंदु के लिए +1; मैंने जानबूझकर रैस्टोरैंट बनाम रैस्टराइजेशन के खरगोश छेद को नीचे नहीं किया, इसलिए यह एक पूरक के रूप में बहुत अच्छा है।
मैक्सिमस मिनिमस

16
यह जवाब अंतर के दिल को अधिक मिलता है। गेम इंजन रैस्टराइजेशन (आगे या स्थगित) करते हैं जबकि ऑफ़लाइन रेंडरर्स (जैसे ब्लेंडर, रेंडरमैन, आदि) रे-ट्रेसिंग करते हैं। एक चित्र बनाने के लिए दो पूरी तरह से अलग दृष्टिकोण।
ssell

4
@ LeComteduMerde-fou जैसा कि गेम डेवलपर्स के उद्देश्य से gamedev है, मैंने महसूस किया कि एक पूरक तकनीकी स्पष्टीकरण अधिक तकनीकी रूप से इच्छुक पाठक के लिए लाभ का होगा।
फराप

1
@ ट्रेल ट्रू, लेकिन यह केवल रे-ट्रेसिंग के बारे में नहीं है - यहां तक ​​कि रे-ट्रेसिंग के बिना भी, यहां तक ​​कि जीपीयू रेंडरिंग के साथ, ब्लेंडर का प्रतिपादन आमतौर पर बहुत अधिक विस्तृत और धीमा है। यह ज्यादातर शुद्धता पर ध्यान केंद्रित करने के लिए है - बेहतर बनावट फ़िल्टरिंग और रिज़ॉल्यूशन, एंटी-अलियासिंग, लाइटिंग, शैडो मैपिंग, जेड-सटीकता, क्वाड्स, द्वि-दिशात्मक सतहों, बड़े बहुभुज मायने रखता है, उच्च-रिज़ॉल्यूशन आउटपुट, सटीक डंप-मैपिंग , पूर्व-गणना किए गए नक्शे, मॉर्फिंग, सटीक कीनेमेटीक्स की कमी ... यह उन विशेषताओं की एक लंबी सूची है जो गेम इंजन की कमी या नकली तरीके से अपना रास्ता बनाते हैं।
लुआण

1
@ चाही मैंने गलत समझा। मैं एआरटी वीपीएस के बारे में सोच रहा था , यह सिर्फ त्वरण था, वास्तविक समय नहीं।
जेसन सी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.