आधुनिक खेल इंजनों में सॉफ्टवेयर रेखांकन के उपयोग क्या हैं?


9

मैं इस तिमाही में एक कंप्यूटर ग्राफिक्स कोर्स ले रहा हूं। हमारी प्रयोगशाला परियोजना में से एक सॉफ्टवेयर रेखांकन के बारे में है।

अब मैं परियोजना प्रस्ताव की योजना बना रहा हूं और सोच रहा हूं कि इसे समकालीन खेल विकास में अन्य लोगों के लिए कैसे उपयोगी बनाया जाए।

कुछ संक्षिप्त खोज के बाद, मैंने एक तकनीक सीखी जिसका नाम सॉफ़्टवेयर ओपेंशन कल्लिंग है। यह विभिन्न प्रस्तावों के शौकीनों पर सॉफ्टवेयर रेखांकन करता है। और हम पदानुक्रमित z बफ़र्स का उपयोग करके रोड़ा के लिए क्वेरी कर सकते हैं।

मेरा प्रश्न : आधुनिक खेल इंजनों में सॉफ्टवेयर रिस्ट्रक्शन के अलावा सॉफ्टवेयर ऑक्यूपेशन कलिंग क्या हैं?

जवाबों:


4

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

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

कुछ मामलों में, सॉफ़्टवेयर रैस्टराइज़ेशन का उपयोग माउस के ऑब्जेक्ट्स को चुनने के लिए किया जा सकता है। खेल इंजनों में, यह अक्सर एक सरलीकृत जाल के साथ एक भौतिकी इंजन और किरण-त्रिकोण टक्कर का उपयोग करके हल किया जाता है।

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


0

"कोहरे के युद्ध" की अवधारणा के साथ खेलों में अक्सर प्रत्येक स्थान पर युद्ध के कोहरे की स्थिति को परिभाषित करने के लिए एक दृश्यता ग्रिड होता है। कभी-कभी ग्रिड पर विशिष्ट आकृतियों के लिए युद्ध राज्य के कोहरे को संशोधित करने के लिए रेखांकन का उपयोग किया जाता है।

उदाहरण के लिए, एक ऐसी क्षमता का उपयोग करना जो विशिष्ट त्रिज्या के साथ नक्शे के एक चक्र को प्रकट करता है, या शायद कुछ ऐसा है जो एक वर्ग का खुलासा करता है।

कड़ाई से संबंधित ग्राफिक्स नहीं, लेकिन निश्चित रूप से आधुनिक खेलों में रेखांकन का उपयोग, और आरटीएस में उपयोग की जाने वाली तकनीक ive देखा गया है।

खेलों में अन्य ग्रिड आधारित डेटा समान स्थितियों के लिए रेखांकन का उपयोग कर सकते हैं।


-2

रेखांकन कई हिस्सों के साथ एक बहुत बड़ा विषय है और मैं कोई इंजन प्रोग्रामर नहीं हूं, लेकिन मैं पूरी कोशिश करूंगा कि किसी तरह का अवलोकन किया जाए (यह पूरी सूची से बहुत दूर होगा!)।

कुछ बहुत ही बुनियादी, लोवेल सामान शामिल हैं:

  • Frustrum culling: कैमरे के फ़्रस्ट्रम के बाहर सब कुछ फेंक देता है (इसे कैमरे के देखने के क्षेत्र के रूप में देखें)।
  • बैकफुल कलिंग: कैमरे को निर्देशन नहीं करने वाले हर बहुभुज को फेंक दें।
  • पेंटर का एल्गोरिथ्म: कैमरे के लिए उनकी दूरी के क्रम में वस्तुओं को आकर्षित करें, दूर की वस्तुओं से शुरू करें, फिर कैमरे की ओर जाएं।

खेलों में उपयोग किए जाने वाले अधिक सामान में निम्न चीजें शामिल हैं:

  • Tesselation : वास्तव में LOD की तरह बहुत अधिक (नीचे देखें), लेकिन अब नवीनतम DirectX संस्करणों ने टेसेलेशन पेश किया, जो स्वचालित जाल विभाजन या कमी प्रदान करता है। यह ग्राफिक्स के प्रदर्शन में भारी वृद्धि देता है, क्योंकि यदि आप उन्हें ज़रूरत हो तो पोल प्राप्त कर सकते हैं और यदि आप उन्हें नहीं चाहते हैं तो उनसे छुटकारा पा सकते हैं।
  • LOD : एक लेवल-ऑफ-डिटेल सिस्टम ऑब्जेक्ट के जाल को ऑब्जेक्ट और कैमरा के बीच की दूरी के आधार पर बदल देता है। उदाहरण के लिए, आपके चरित्र में तीन जाल हैं: एक 10,000 के साथ, एक सीटी 5,000 और दूसरा 1,000 पोलियों वाला है। यदि आप उसके ठीक सामने रहते हैं, तो उच्च रिज़ॉल्यूशन मेष (10,000 पोल) दिखाया जाता है, यदि आप दूर जाते हैं, तो 100 मीटर के बाद चरित्र को मध्यम जाल से बदल दिया जाता है और 100 मीटर के बाद इसे कम रिज़ॉल्यूशन मेष द्वारा बदल दिया जाता है। मेष को बदलने के बजाय आप इसे कम कर सकते हैं, लेकिन यह कोड के लिए अधिक जटिल होगा।
  • द्विआधारी अंतरिक्ष विभाजन : अंतरिक्ष को दो संस्करणों में विभाजित किया गया है। यह तब तक दोहराया जाएगा जब तक आप अपने लक्ष्य तक नहीं पहुंच जाते, उदाहरण के लिए, जब तक कि अंतरिक्ष में केवल पोल नहीं होते हैं जिन्हें स्क्रीन पर खींचा जाना चाहिए
  • पोर्टल और सेल : (उर्फ पोर्टल कलिंग) का उपयोग इनडोर दृश्यों और / या पहले व्यक्ति निशानेबाजों में किया जाता है। दृश्य को कोशिकाओं में विभाजित किया गया है (उदाहरण के लिए एक इमारत के कमरे) जो कि फेंक पोर्ट (उदाहरण के दरवाजे) से जुड़े हैं। आप खुले और बंद होने के लिए पोर्टल सेट कर सकते हैं।

आपको लगता है कि ग्राफिक्स पाइपलाइन की बुनियादी समझ है, मैंने रेखांकन पर ध्यान देने की कोशिश की। तुम भी प्रकाश व्यवस्था और छायांकन या अन्य सामान पर एक नज़र डाल सकते हैं ..

इनमें आपकी परियोजना में शामिल करने के लिए बस कुछ संभावित प्रौद्योगिकियां शामिल हैं। चूंकि मुझे स्टैकएक्सचेंज पर पर्याप्त प्रतिष्ठा नहीं है, इसलिए मैं कई लिंक प्रदान नहीं कर सकता हूं, लेकिन आपको वह सब सामान Google में मिल जाएगा :)


2
सवाल सॉफ्टवेयर के बारे में है (पढ़ें: सीपीयू) रेखांकन। आपके द्वारा दी गई जानकारी में से कुछ सामान्य रूप से रेखांकन के बारे में हैं, कुछ तकनीकें - मेरी पुस्तक में - जिनका रास्टराइजेशन से कोई लेना-देना नहीं है। क्या आप कृपया अपने उत्तर में स्पष्ट कर सकते हैं कि तकनीक कैसे उपयोग करती है या सॉफ़्टवेयर रैस्टोरेशन से लाभान्वित होती है?
डेविड कुरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.