2012-05-12 12 views
5

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

मैं आदर्श रूप से पुराने कंप्यूटरों का भी समर्थन करना चाहता हूं, इसलिए मैं सोच रहा था कि ओपनजीएल 2.1 उपयोग करने का सबसे अच्छा संस्करण होगा या नहीं। ओपनजीएल 4 मेरी डेस्कटॉप मशीन पर भी काम नहीं करता है: ओ

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

इस बात को ध्यान में रखते हुए आप मुझे किस तरह की किताबें सुझाएंगे? क्या यह ओपनजीएल 3 या 4 पुस्तक प्राप्त करने के लिए व्यर्थ होगा क्योंकि मैंने पढ़ा है कि बड़े बदलाव हैं? क्या मुझे इसके बजाय 2.1 पर पुरानी पुस्तक के लिए व्यवस्थित करना चाहिए?

उत्तर

2

ओपनजीएल 2.1 सबसे अच्छा हो सकता है। तुलनात्मक रूप से यह अपेक्षाकृत समान संगतता है जो डायरेक्टएक्स 9 सी के रूप में है, जो नवीनतम विंडोज एक्सपी प्राप्त कर सकता है, और मुझे पता है कि वहां बहुत से एक्सपी बॉक्स हैं। मेरे कुछ दोस्त अभी भी एक्सपी पसंद करते हैं।

ग्राफिक कार्ड जो इस समय इन एपीआई का समर्थन नहीं करते हैं, वे बहुत अप्रचलित हो सकते हैं।

यदि कोई उपयोगकर्ता 2.1 का उपयोग करके आपका गेम नहीं चला सकता है तो आपको उपयोगकर्ता को एक नया कंप्यूटर खरीदने का सुझाव देना पड़ सकता है। यदि आप इस सोच को अपनाते हैं तो आप ओपनजीएल 3.0 का भी उपयोग करना चाहेंगे।

मेरी राय में, मैं पहले 2.1 सीखने और कुछ अभ्यास करने की कोशिश करता हूं, और इसके बाद, 3.x और अंततः 4.x का उपयोग शुरू करें। बड़ी गेम कंपनियां आमतौर पर संगतता की परवाह नहीं करती हैं और उपयोगकर्ता को नए हार्डवेयर खरीदते हैं।

+0

आपके उत्तर के लिए धन्यवाद। एक्सपी और डीएक्स 9 स्टाइल संगतता वह थी जो मैं लक्ष्य रखूंगा क्योंकि यह उदाहरण के लिए अगला सीओडी नहीं होगा;) मैंने "ओपनग्लिबल" नामक एक पुस्तक देखी है, लेकिन नवीनतम संस्करण ओपनजीएल 3 को कवर करने लगता है, क्या मुझे चारों ओर स्काउट करना चाहिए चौथे संस्करण के लिए? – user859194

+1

चौथा संस्करण अच्छा लगता है। इसमें 2.1 शामिल हैं और इसमें महान उदाहरण और स्रोत कोड हैं, और यहां तक ​​कि लिनक्स –

+0

हाँ के लिए मेक फाइलें भी शामिल हैं, मुझे लगता है कि मैं इसे देख लूंगा :) – user859194

3

जिज्ञासा से बाहर, क्या आप लिनक्स पर हैं?

लिनक्स वास्तव में यहां मुख्य बाधा है, या इसके बजाय, ओपनसोर्स ड्राइवरों के साथ चल रहे लिनक्स सिस्टम बोतल गर्दन (एटीआई या एनवीआईडीआईए ड्राइवरों के साथ सिस्टम समस्या नहीं हैं, वे नवीनतम और महानतम का समर्थन करेंगे)। हालाँकि इस मोर्चे पर चीजें आकार दे रही हैं, हालांकि इस साल की शुरुआत में मेसा 8 की रिहाई के साथ अंत में ओपनजीएल 3 समाधान का खुला स्रोत है।

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

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

मैं यूनी में एक कोर्स के लिए कई बार पहले इस पुस्तक के पहले संस्करण में गया था। और हाल ही में 6 वां संस्करण खरीदा क्योंकि मैं बूढ़े व्यक्ति से बहुत प्यार करता था, और इसकी गुणवत्ता :)

+0

मैं वास्तव में लगातार 3 ओएस का उपयोग करता हूं, लेकिन यह मुख्य रूप से विंडोज है और ओएसएक्स। मैं एक एंड्रॉइड पोर्ट नहीं देख रहा हूं, गेम विचार जो मैंने मोबाइल डिवाइस पर अच्छा काम नहीं किया है :) मैं उस पुस्तक पर एक नज़र डालूंगा, उत्तर के लिए धन्यवाद – user859194

0

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

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

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

जीएलएसएल एक सी शैली अर्ध-असेंबली भाषा है जिसे जीपीयू को धक्का दिया जाता है, और यह पुराने और आधुनिक ओपनजीएल के बीच मुख्य अंतर है।

जहां तक ​​एक पुस्तक प्राप्त करने के लिए, आपको 2.x के लिए 2.0 पुस्तक प्राप्त करने वाली है, यह नई ओपनजीएल के समान गेंदबाज में भी नहीं है। ऐसी सामान्य अवधारणाएं हैं जो आधुनिक ओपनजीएल में स्थानांतरित होती हैं लेकिन अधिकांश भाग के लिए यह बिल्कुल अलग है। मैंने आंद्रे लैमथ द्वारा ओपनजीएल गेम प्रोग्रामिंग का आदेश दिया है, मुझे लगता है कि 5 डॉलर? यह 2.1 के लिए वास्तव में एक अच्छा परिचय है और कोड Win32 के साथ लिखा गया है और चूंकि विंडोज एपीआई लगभग सभी कोडों में मुश्किल से बदल गया है (यदि नहीं सभी) काम करते हैं, भले ही पुस्तक लगभग 12 वर्ष पुरानी हो (यहां जाता है दिखाएं कि यह कितना अच्छी तरह से लिखा गया था) और वास्तव में वास्तव में दिलचस्प परियोजनाएं हैं (एनिमेटेड रोबोट, पहले कुछ के लिए कताई क्यूब्स)। वैसे भी, आप के लिए शुभकामनाएँ। यह एक कठिन और लंबी सड़क है, लेकिन यह बहुत फायदेमंद है।