2009-08-15 13 views
10

क्या ओपनजीएल 3.x बनाम 2.x में बहुत अंतर हैं? क्या यह ओपनजीएल 2.x सीखने का समय बर्बाद है या क्या वे दोनों एक ही अवधारणा का पालन कर रहे हैं? मुझे लगता है कि मैंने कहीं पढ़ा है कि 2.x राज्य आधारित था और वह 3.x नहीं था, क्या यह सही है?क्या ओपनजीएल 2.X को छोड़ना और OpenGL 3.X सीखना बेहतर है?

उत्तर

-7

जानें कि इसके बारे में सबसे ज्यादा सीखने वाली सामग्री क्या है। NeHe's tutorials शुरू करने के लिए एक अच्छी जगह है।

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

(Malte Clasen के जवाब देखें।)

+24

मैं इस सलाह खतरनाक पर विचार करें: पदावनत तय समारोह सीखने में shaders परिणाम के साथ काम नहीं पाइप लाइन। जिस सबसेट को आपने स्पष्ट रूप से शुरू किया है वह अब ओपनजीएल 3 में उपलब्ध नहीं है। –

+1

मैं मानता हूं, नेहे ट्यूटोरियल के बाद से ओपनजीएल काफी बदल गया है। और यदि आप वास्तव में हार्डवेयर त्वरण का लाभ लेना चाहते हैं, तो संभवतः आप ओपनजीएल का उपयोग करना चाहते हैं और ऐसा नहीं करना चाहते हैं क्योंकि वहां सीखने के लिए बहुत अधिक आसान पुस्तकालय हैं, तो आपके लिए बहुत कम उपयोग होगा । – Kilon

8

वे लगभग पूरी तरह से पीछे की ओर संगत कर रहे हैं, तो कुछ भी आप एक पुराने संस्करण के साथ सीखना बाद के संस्करणों ठीक करने के लिए लागू करने के लिए जा रहा है। यदि आपको विशेष रूप से कहीं भी 'लक्ष्य' करना है, तो 2.0 शायद एक अच्छी पसंद है। यदि आप the OpenGL Wikipedia page देखते हैं, तो आप देख सकते हैं कि विभिन्न संस्करणों में क्या जोड़ा गया था, और अपने आप को तय करें कि आपको कौन सी विशेषताओं की आवश्यकता होगी।

+0

मैन, लोग मुझे मतदान करते रहते हैं। इसे चूसो मैं इस सलाह से खड़ा रहूंगा, खासकर जब कोई भी ऐसा नहीं है जिसका जीएल 3 विशिष्ट संसाधनों के साथ पॉप अप हो। आप शेडर्स को 2.x के साथ ठीक से काम कर सकते हैं, और यदि जिस विधि से आप जीएल को ज्यामिति खिलाते हैं तो आपके काम की कठिनाई का एक छोटा हिस्सा भी है, काश मैं आपके जूते में था। –

48

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

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

ओपनजीएल 2 स्क्रीन पर कुछ डालने के अनगिनत तरीके प्रदान करता है, जिनमें से प्रत्येक कम से कम एक लोकप्रिय ट्यूटोरियल में शामिल है। ओपनजीएल 3 उनमें से कई को छोड़ देता है, जिसमें ओपनजीएल 2 (फिक्स्ड फ़ंक्शन ग्लोबजिन/ग्लेंड) के "शुरुआती 'सबसेट" शामिल हैं। इसलिए यदि आप लंबी अवधि में ओपनजीएल 3 को लक्षित करना चाहते हैं, तो शुरुआत से ही इसके लिए जाएं। एक मृत अंत में अटकने की तुलना में और अधिक demotivating कुछ भी नहीं है।

+3

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

+11

ओपनजीएल 3 के साथ, पूरे 3.x परिवार का मतलब है, और हाल ही में जारी 3.2 वास्तव में बहिष्कृत कार्यों को छोड़ देता है। "ओपनजीएल 3.2 में नया क्या है" देखें, http://www.opengl.org/documentation/current_version/: "ओपनजीएल 3.2 और साथी ओपनजीएल शेडिंग भाषा 1.50 कई नई विशेषताएं जोड़ें, साथ ही विरासत को हटाकर एपीआई और छायांकन भाषा को सरल बनाते हुए ओपनजीएल 3.0 में फिक्स्ड-कार्यक्षमता इंटरफेस को हटा दिया गया। " –

+0

थानक्स मालटे यही वह है जो मैं चिंतित था। और यहां तक ​​कि अगर कुछ अभी भी है तो मैं चीजों को करने का सबसे अच्छा तरीका सीखना चाहता हूं और glbegin/end stuff ऐसा प्रतीत नहीं होता है। तो क्या आप जानते हैं कि किसी भी opengl 3.x ट्यूटोरियल कहां से ढूंढें जो deperecated सामान से शुरू नहीं होता है? –

4

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

http://www.arcsynthesis.org/gltut/

2

मुझे लगता है कि आधुनिक शेडर केवल शैली ओपन के भविष्य और वास्तविक समय 3 डी ग्राफिक्स है। मैं ओपनजीएल 3 के साथ तुरंत शुरू करने का सुझाव दूंगा। दूसरी ओर ओल्डजीएल को पुरानी शैली से वंचित करना सीखना आसान है और पूरे एपीआई को समझे बिना सरल चीजें करना आसान है।

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

संपादित करें: इसके अलावा, कुछ पुस्तक अनुशंसाओं के लिए this question पर एक निर्णय देखें, जो आपके निर्णय पर निर्भर करता है।

2

मुझे यह ट्यूटोरियल बहुत आसान और उपयोग करने में आसान लगता है और यह ओपनजीएल 3 http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html के लिए है। अन्य ट्यूटोरियल आप उपयोगी पा सकते हैं:

संबंधित मुद्दे