ओपनजीएल और 3 डी एनीमेशन सॉफ्टवेयर में प्रतिपादन के बीच अंतर


16

ओपनजीएल और ऐसे के साथ मैं "वास्तविक समय" 60 एफपीएस में कुछ बहुत ही अद्भुत दिखने वाली चीजों को प्रस्तुत कर सकता हूं। हालाँकि, अगर मैं माया, या 3ds मैक्स में उसी दृश्य का एक वीडियो बनाने की कोशिश करता हूं, तो इसे प्रस्तुत करने के लिए MUCH MUCH को अधिक समय लगेगा, भले ही यह एक ही संकल्प और FPS हो।

एक ही परिणाम के लिए इन दो प्रकार के प्रतिपादन अलग-अलग समय क्यों लेते हैं?

नोट: हाँ मुझे पता है कि 3 डी एनीमेशन सॉफ्टवेयर वास्तविक समय में क्या किया जा सकता है के लिए अत्यधिक बेहतर छवियों का उत्पादन कर सकता है। लेकिन इस सवाल के लिए मैं समान जटिलता के एक दृश्य का उल्लेख कर रहा हूं।


1
संक्षिप्त उत्तर यह है कि ओपनजीएल शॉर्टकट लेती है।
user253751

जवाबों:


9

मुख्य अंतर यह होगा कि ओपनजीएल के साथ हम एक वीडियो गेम कहते हैं, आपके पास एक प्रक्रिया होगी जिसे रैस्टरीज़ेशन कहा जाता है जो मूल रूप से यह निर्धारित करने का ख्याल रखता है कि आप किस दृश्य को देखते हैं।

इसे तेज़ करने की ज़रूरत है ताकि हम इसे वास्तविक समय के रूप में अनुभव कर सकें।

इसलिए एल्गोरिथ्म कुछ सरल कदम करता है।

  • जाँच करें कि क्या दृश्य का एक निश्चित हिस्सा मेरे विचार में है

    फ्रस्ट्रम कलिंग

  • जाँच करें कि क्या कुछ इसके सामने है जिसे बाद में एक गहराई बफर का उपयोग करके प्रस्तुत करने की आवश्यकता हो सकती है

    गहराई बफ़र

  • जिन वस्तुओं को हम आकर्षित करना चाहते हैं उन्हें ऑर्डर करें

  • उन्हें स्क्रीन पर प्रोजेक्ट करके ड्रा करें
  • उन्हें बनावट / शेड / लाइट / ... के आधार पर शेड करें

दूसरी ओर एक रेंडरिंग सॉफ्टवेयर (ब्लेंडर / मैक्स / माया / ...) सबसे अधिक संभावना है कि किसी प्रकार की किरण का उपयोग किया जाए

इसमें यथार्थता के उच्च स्तर को प्राप्त करने के लिए अधिक गणित शामिल है। यह मूल रूप से उसी तरह से काम करता है:

  • एक कैमरा और एक छवि विमान का निर्माण करें
  • प्रत्येक पिक्सेल के माध्यम से एक किरण (या कई नमूना किरणें) शूट करें
  • जाँच करें कि क्या किरण दृश्य में कुछ भी हिट करती है
  • निकटतम हिट पिक्सेल में खींचा जाने वाला अंत है (जैसे कि गहराई बफ़र)
  • दिए गए बिंदु के लिए प्रकाश की गणना करें प्रकाश गणना

....

मैंने यहां सूचीबद्ध करना बंद कर दिया है क्योंकि यह वह बिंदु है जहां किरण बंद हो जाती है।

एक बिंदु पर हिट होने पर केवल जाँच करने के बजाय, अधिकांश रेअटरसेर अब गणना करना शुरू करता है:

  • प्रकाश की मात्रा एक सतह में प्रवेश करती है
  • कितना प्रकाश परिलक्षित होता है
  • दृश्य में हिटपॉइंट से नई किरणें डालें जब तक कि यह एक प्रकाश स्रोत से न टकराए

यथार्थवाद के विभिन्न डिग्री के साथ तकनीकों की एक टन है जिसका उपयोग दृश्य में एक निश्चित बिंदु के प्रकाश की गणना करने के लिए किया जा सकता है।

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


7

आप सेब की तुलना संतरे से कर रहे हैं

गेम आपके मॉडलिंग ऐप में व्यू पोर्ट की तरह है। आप रेंडर के लिए व्यूपोर्ट का उपयोग कर सकते हैं और आपको 60fps स्पीड मिलेगी।

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

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

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

किरणों को धीमा क्यों किया जाता है?

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

  1. डेटा को डिस्क पर छोड़ना, न केवल फ़्रेम बल्कि सभी डेटा। कुछ ऐसा है जो ज्यादातर खेलों की गति को तुरंत तोड़ देगा।

  2. सामान्य हार्डवेयर पर काम करना। एक बार जब आप GPU के लिए ऑप्टिमाइज़ करते हैं तो कुछ चीज़ों के लिए GPU बहुत तेज़ होता है। लेकिन यह सभी भारों के लिए काम नहीं करता है, वास्तव में एक इंटेल सीपीयू GPU की तुलना में सामान्य रूप से कंप्यूटिंग में तेज है। GPU सिर्फ बड़े पैमाने पर समानांतर है जो CPU नहीं है। आर्किटेक्चर जीतता है यदि आप GPU में रह सकते हैं और GPU आर्किटेक्चर के लिए स्थानांतरण और अनुकूलन को कम कर सकते हैं।

तो आप लचीलेपन और उपयोग में आसानी के लिए भुगतान करते हैं। लेकिन हाँ बीमार माया और मैक्स दोनों ही अत्यधिक बुढ़ापे से पीड़ित हैं। इसलिए वे तेज हो सकते हैं।

टीएल; डीआर अंतर ज्यादातर अनुकूलन में है (बहुत सारी चालें पढ़ें) और उपलब्ध बाहरी संसाधन।

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

* Http://www.graphics.cornell.edu/~bjw/mca.pdf देखें


2
क्षमा करें, लेकिन यह स्पष्ट गलत है। ओपनजीएल और डायरेक्टएक्स सन्निकटन का उपयोग करते हैं जो कि सटीक किरणों की तुलना में स्वाभाविक रूप से तेज होते हैं। त्वरित 3 डी ग्राफिक्स के पूरे बिंदु में एल्गोरिदम है, जो यथार्थवाद और गति के बीच संतुलन
रखता है

2
@ ओइल ओपन का उपयोग रीटार्टिंग के लिए किया जा सकता है। यह तेजी से क्योंकि यह सवाल में हार्डवेयर के लिए अनुकूलित है। लेकिन माया को किरण का पता नहीं लगाना है। माया और मैक्स ओपनजीएल और डायरेक्टएक्स का उपयोग कर सकते हैं, जितना कि आपके गेम का। मायास (और 3 डी) व्यूपोर्ट ओपेंग्ल या डायरेक्टएक्स (आपकी पसंद) है। तथ्य यह है कि आपके प्रोसेसर कुछ समानांतर प्रसंस्करण भार में धीमा है एक और बात है। तो उत्तर खड़ा है। माया की मानक सेटिंग्स मानक स्कैनलाइन से अधिक यथार्थवादी नहीं हैं।
पूजा

5

वास्तविक समय पूर्वावलोकन

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

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

उत्पादन प्रतिपादन और पथ अनुरेखण

वीएफएक्स सॉफ्टवेयर भी वास्तविक समय पूर्वावलोकन पर नहीं बल्कि उत्पादन प्रतिपादन पर जोर देता है जहां प्रकाश किरणें वास्तव में एक समय में एक नकली होती हैं। वास्तविक समय का पूर्वावलोकन अक्सर यह होता है कि, उच्च गुणवत्ता वाले उत्पादन परिणाम का "पूर्वावलोकन" होता है।

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

सामग्री

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

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

खेल इसे बेहतर करते हैं

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

दूसरी ओर, VFX और CAD सॉफ्टवेयर, आकर्षक के रूप में कहीं नहीं है। आर एंड डी को अक्सर अकादमिक सेटिंग्स में काम करने वाले शोधकर्ताओं द्वारा आउटसोर्स किया जाता है, बहुत सारे उद्योग अक्सर कई साल पहले प्रकाशित तकनीकों को लागू करते हैं जैसे कि कुछ नया होता है। इसलिए वीएफएक्स सॉफ्टवेयर, यहां तक ​​कि ऑटोडेस्क जैसे कंपनियों से आने वाले, अक्सर "एएए-गेम" के रूप में नवीनतम एएए गेम इंजन के रूप में काफी नहीं है।

उनके पास बहुत अधिक विरासत है। उदाहरण के लिए माया 17 साल पुराना उत्पाद है। इसे बहुत कुछ नवीनीकृत किया गया है, लेकिन इसकी मुख्य वास्तुकला अभी भी समान है। यह क्वेक 2 लेने की कोशिश के अनुरूप हो सकता है और 2015 तक इसे सभी तरह से अपडेट और अपडेट करते रहें। प्रयास बहुत अच्छे हो सकते हैं लेकिन संभवतः अवास्तविक इंजन 4 से मेल नहीं खाएंगे।

टी एल; डॉ

तो वैसे भी, इस विषय के उस तरफ थोड़ा सा है। मैं यह नहीं बता सका कि क्या आप व्यूपोर्ट या प्रोडक्शन रेंडरिंग में रियल-टाइम प्रीव्यू के बारे में बात कर रहे हैं, इसलिए मैंने दोनों को कवर करने की कोशिश की।


यह भी समय का सवाल है। यहां तक ​​कि अगर आप 60 एफपीएस पर प्रस्तुत कर सकते हैं और स्वीकार्य परिणाम प्राप्त कर सकते हैं तो इसके लिए अनुकूलन करने के लिए शायद ही कभी बाहर निकलता है। कहें कि इसमें प्रति फ्रेम 3 मिनट लगते हैं और रेंडर करने के लिए आपके पास 200 फ्रेम हैं। आप एक shader लेखक को काम पर रखने और अनुकूलन करके 60 एफपीएस प्राप्त करने में सक्षम हो सकते हैं, लेकिन फिर कम से कम एक या दो दिन का समय लेता है। लेकिन 3 फ्रेम में 200 फ्रेम केवल 10 घंटे लगते हैं ताकि आप उस लागत को बचा सकें। व्यावहारिक रूप से इसके हार्डवेयर को अधिक खरीदना और इसके बारे में बहुत अधिक चिंता न करना। गेम केवल इस दृष्टिकोण को नहीं ले सकते।
joojaa

@ जजेजा हालांकि यह थोड़ा अधिक जटिल है। बस माया के लिए वास्तव में अच्छा वास्तविक समय के शेड्स करने में एक वर्ष या बहुत कम से कम, बहुत कम से कम, यहां तक ​​कि एक अनुभवी shader डेवलपर (कम लाभ के साथ) हो सकता है, क्योंकि वहां नोडल प्रणाली का लचीलापन उत्पादन प्रतिपादन की ओर लक्षित है। यह रिवर्स इंजीनियरिंग मानसिकता और नई तरह की GLSL / HLSL कोड जनरेशन तकनीक (एक मेटा प्रोग्रामिंग सिस्टम की तरह) को इन सामान्य-उद्देश्य shader नोड्स को वास्तविक समय में छायांकन प्रणाली में अनुवाद करने के लिए लेगा जो UE 4 के प्रभावों की सीमा को कैप्चर करता है। , जैसे
ड्रैगन एनर्जी

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

लेकिन जब तक कि आपके पास वीएफएक्स ऐप में पाइपलाइन न हो, प्रत्येक दृश्य के लिए अतिरिक्त लागत की आवश्यकता हो सकती है, तब तक एक जीवन भर की लागत। कोई कारण नहीं है कि क्यों एक माया उपयोगकर्ता उदाहरण के लिए एक ही shader देव मंच के लिए UDK में प्रस्तुत नहीं कर सका।
joojaa

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