2 डी गेम के लिए आधुनिक ओपनजीएल का उपयोग कैसे करें?


9

मुझे 3 डी के लिए "आधुनिक" ओपनजीएल (3.0+) ट्यूटोरियल की अधिकता मिली है, लेकिन मुझे 2 डी गेम के विकास के लिए इसका उपयोग करने के बारे में जानकारी की तलाश में कुछ भी नहीं मिला है। मैं 2D Gamedev के लिए OpenGL का उपयोग कैसे शुरू कर सकता हूं?

विशेष रूप से, मुझे निम्नलिखित विषयों के उत्तर प्राप्त करने में दिलचस्पी है:

  • ऑर्थोग्राफ़िक प्रोजेक्शन के लिए मुझे अपने विभिन्न मैट्रिसेस कैसे सेट करने चाहिए?
  • 3 डी के रूप में 2 डी अनुप्रयोगों में भारी रूप से उपयोग किए जाने वाले शेड हैं? यदि हां, तो 2 डी सेटिंग में उनका उद्देश्य क्या है?
  • मुझे 2 डी गेम के लिए स्पष्ट रूप से आवश्यक बनावट की बड़ी संख्या को कैसे संभालना चाहिए?

मैं अपेक्षाकृत व्यापक प्रश्न के लिए माफी माँगता हूँ, लेकिन मैंने एक लंबा समय खोजा है और मुझे आधुनिक ओपनजीएल पर लागू होने वाली बहुत कम उपयोगी जानकारी मिली है।

जवाबों:


11
  • मुझे ऑर्थोग्राफिक प्रोजेक्शन के लिए अपने विभिन्न मैट्रिसेस कैसे सेट करने चाहिए?

आपका लक्ष्य 2D है, है ना? इसलिए आपको किसी भी प्रक्षेपण की आवश्यकता नहीं है। प्रोजेक्शन एक 3D दुनिया को 3D प्लेन में संघनित करने का कार्य है। शेड को सेट करें ताकि यह हर वर्टेक्स के Z समन्वय को डिफॉल्ट करे 0.0और आपको सेट किया जाना चाहिए।

यद्यपि आप X और Y निर्देशांक के लिए एक स्केल मैट्रिक्स का उपयोग कर सकते हैं। यह स्केलिंग इतना -10.0करने के लिए 10.0हो जाता है -1.0करने के लिए 1.0। संदर्भों के लिए, मैट्रिक्स वह है:

0.1   0.0   0.0
0.0   0.1   0.0
0.0   0.0   1.0
  • 3 डी के रूप में 2 डी अनुप्रयोगों में भारी रूप से उपयोग किए जाने वाले शेड हैं? यदि हां, तो 2 डी सेटिंग में उनका उद्देश्य क्या है?

वे जा सकते हैं। वे अभी भी प्रति-पिक्सेल प्रकाश के लिए उपयोग किया जा सकता है, वस्तुओं को कुछ नकली गहराई दे रहा है। वे बनावट के प्रभाव, पानी के प्रभाव, छवि-निर्माण के लिए भी उपयोग किए जा सकते हैं ... आप उन्हें थोड़ी सी चाल के साथ भौतिकी गणना करने के लिए भी इस्तेमाल कर सकते हैं।

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

हालाँकि आपको किसी भी तरह से स्प्राइट प्रदान करने के लिए शेडर्स की मूल बातें जानने की आवश्यकता होगी।

  • मुझे 2 डी गेम के लिए स्पष्ट रूप से आवश्यक बनावट की बड़ी संख्या को कैसे संभालना चाहिए?

जैसे आप 3 डी में करते हैं। बनावट वस्तुओं, PBO, और एक बनावट एटलस या कुछ के बंच। संभवतः कुछ संरचनाएं / कक्षाएं, और सिरदर्द भी। मुझे लगता है कि इसे "एसेट मैनेजमेंट" कहा जाएगा, या ऐसा ही कुछ।

  • मैं 2 डी gamedev के साथ कैसे आरंभ कर सकता हूं?

वहाँ शायद कुछ ट्यूटोरियल हैं। हालाँकि, चूंकि 3D संस्करण अधिक सामान्य है, इसलिए मैं 3D के लिए OpenGL सीखना सीखूंगा और फिर जो आप इसे सीखना चाहते हैं, उसे 2D प्रतिरूप में लागू करेंगे। 3 डी और 2 डी बहुत समान हैं, 2 डी सिर्फ जेड समन्वय का ट्रैक नहीं रखता है।


5
2 डी के लिए, आप अभी भी ऑर्थोग्राफिक प्रोजेक्शन और जेड-बफरिंग करने के लिए विभिन्न जेड निर्देशांक का उपयोग कर सकते हैं , अन्यथा आपको चित्रकार के एल्गोरिथ्म को खुद करना होगा और सही क्रम में आकर्षित करना होगा।
कोन्गुसबोंगस

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