ओपनजीएल बनाम ओजीआरई: शुरुआती के लिए सबसे अच्छा कौन सा है? [बन्द है]


10

मैं खेल के विकास में रुचि रखता हूं और अच्छे C / C ++ प्रोग्रामिंग कौशल रखता हूं। मैंने पहले OGRE की कोशिश की है, और मैं उत्सुक हूं कि क्या मुझे शुरुआती बिंदु के रूप में या तो OGRE या OpenGL सीखना चाहिए।

मेरी समझ से, OGRE OpenGL और DirectX के लिए एक आवरण है। तो, माना जाता है कि मैं OGRE सीखता हूं, क्या मुझे अभी भी ओपनजीएल सीखने के साथ-साथ एक खेल विकसित करने की आवश्यकता है?

इसके अलावा, क्या कोई मुझे OpenGL के लिए अच्छा ट्यूटोरियल बता सकता है? मैंने पाया कि OGRE अच्छी तरह से प्रलेखित है (यह वितरण के साथ भी आता है!) लेकिन ओपनजीएल के लिए, अधिकांश ट्यूटोरियल जो मैं आया था वह पुराना हो गया है।


यदि आप 3 डी ग्राफिक्स प्रोग्रामिंग के लिए पूरी तरह से नए हैं, तो मैं जिस तरह से निम्न स्तर के एपीआई को पहले संचालित करने के लिए एक महसूस करने की कोशिश करूंगा (ओपनजीएल या डी 3 डी, यह वास्तव में कोई फर्क नहीं पड़ता) और फिर तैयार ग्राफिक्स इंजन पर स्विच करें जैसे OGRE के रूप में ताकि आप इंजन डिजाइन / विकास प्रदान करने के बजाय अपने एप्लिकेशन / गेम पर ध्यान केंद्रित कर सकें।
drxzcl

1
मैं 3D के बजाय, पहले 2D के लिए जाता।
कम्युनिस्ट डक

1
अधिकांश 2D का केवल "3D with no Y" नहीं होता है और इसकी अपनी मुहावरे और तकनीकें होती हैं, मुझे यकीन नहीं है कि 2D में साइड ट्रैक लेना किसी के लिए "अच्छा c / c ++" पहले से ही अच्छा होगा।
पैट्रिक ह्यूजेस

यह प्रश्न रचनात्मक क्यों नहीं है?
सॉन्गब्रेकर

जवाबों:


13

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

मैं कहूंगा कि ओपन के विपरीत ओग्रे को सीखना आसान है, या कम से कम यह आपको दिलचस्प परिणाम तेजी से मिलेगा। निश्चित रूप से यह पूरी तरह से इस बात पर निर्भर करता है कि यदि आप OpenGL सीखने के लायक हैं तो आप गधे को क्या करना चाहते हैं।

OpenGL ट्यूटोरियल्स के बारे में, हाँ, उनमें से अधिकांश बहुत पुरानी हैं, हालाँकि यह कल्पना वास्तव में बहुत तेजी से आगे नहीं बढ़ रही है कि उन पुराने ट्यूटोरियल्स में से अधिकांश अभी भी OpenGL के लिए लागू हैं।

मेरे कुछ पसंदीदा:


28
कृपया लोगों को कृपया नेह को भेजना बंद करें। ट्यूटोरियल अच्छे हैं, लेकिन अविश्वसनीय रूप से पुराने हैं। ओपनजीएल 1.x के दिन बहुत आगे निकल चुके हैं, चलो गेट के ठीक बाहर ग्राफिक्स प्रोग्रामर की अगली पीढ़ी को अपंग न करें!
drxzcl

5
"एन इंट्रो टू मॉडर्न ओपनजीएल" देखें: duriansoftware.com/joe/…
drxzcl

1
@ राणेरी मैं बिल्कुल, बहुत दृढ़ता से सहमत हूं। साइट वर्षों और वर्षों के लिए एक ही बनी हुई है, और अब ओपनग्लग पिछले कुछ वर्षों में काफी बदल गया है, इसे वास्तव में हतोत्साहित करने की आवश्यकता है। @ सोंगब्रेकर कृपया इस पर ध्यान दें और नेह के ट्यूटोरियल से बचने या कम से कम उन्हें नमक के दाने के साथ लेने पर विचार करें। तय पाइपलाइन लंबी चली गई है।
R

1
@ Ranieri, @ Ricket I बिल्कुल, बहुत दृढ़ता से असहमत। OpenGL 4.x के लिए सीखने की अवस्था पर विचार करें, एक शुरुआत के लिए जो ग्राफिक्स प्रोग्रामिंग के साथ पूरी तरह से अपरिचित है और बिना किसी निर्देश के एसडीके को अपने खाली समय में उठा रहा है। OpenGL 4.x के लिए प्रलेखन कैसा है? अधिक जानकारी के लिए मेरी पोस्ट देखें।
एंड्रयू रासमुसेन

4
@Songbreaker: मैं करने की कोशिश। मैं यह तय करने के लिए आपको छोड़ दूँगा कि वे अच्छे हैं या नहीं।
निकोल बोलस

17

ओपन! हां मैं अब तक इस बोर्ड में सभी के साथ खुलकर असहमत हूं।

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

इसलिए मैं दृढ़ता से OpenGL से शुरू करने की सलाह देता हूं। OpenGL आपको सभी बुनियादी बातों के ग्राफिक्स सीखने के लिए मजबूर करेगा। यह बहुत अधिक रोचक है क्योंकि आप वास्तव में महसूस करेंगे कि वे पृष्ठभूमि में क्या कर रहे हैं। और हाँ नेह के ट्यूटोरियल के साथ शुरू करते हैं। हाँ, वे 1.x हैं जो बहुत पुराना है (यह आपके लिए है, Ranieri), लेकिन OpenGL 4.x में कूदना एक सीखने की अवस्था में बहुत खड़ी है।

1.x (glBegin, glEnd) में तत्काल मोड से शुरू करें, फिर वर्टेक्स एरे के बारे में जानें। यदि आप चाहते हैं, तो बस सीखने के लिए प्रदर्शन सूचियों के साथ खेलें। फिर शीर्ष बफर ऑब्जेक्ट्स की ओर बढ़ें। फिर shaders के बारे में जानें। इनमें से प्रत्येक संक्रमण बहुत आसान है, और ऑनलाइन बहुत सारे महान ट्यूटोरियल हैं। वीबीओ 4.1 के मूल में हैं, इसलिए जब तक आप इसे बनाते हैं, तब तक आप पुरानी सामग्री नहीं सीख रहे होते हैं, और 1.x सामान के साथ शुरू करके वहां जाना बहुत आसान होता है।

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

सन्दर्भ: मैं वह था जहाँ आप थे। मैंने OGRE पर एक महीना बिताया, एक हफ्ते में Irrlicht, एक हफ्ते में Horde3d, दो दिन DirectX के साथ खेलने और एक महीने में OpenGL के साथ खेलने की कोशिश की। OGRE के साथ एक महीने के बाद मैं मुश्किल से ट्यूटोरियल के दायरे से परे जा सका। OpenGL के साथ एक महीने के बाद, मेरे पास एक चरित्र था जो एक मिनीक्राफ्टियन दुनिया के चारों ओर चल रहा था, जिसमें 700+ फ्रेमरेट के साथ प्रति फ्रेम 260,000 बनावट वाले क्यूब्स प्रदान किए गए थे।


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

1
नहीं, OGRE को वास्तव में यह जानने की आवश्यकता नहीं है कि ग्राफिक्स कार्ड से कैसे बात करें - यह बात है। इसके अलावा, OGRE एक ग्राफिक्स एपीआई के आसपास सिर्फ एक आवरण नहीं है, यह एक दृश्य प्रबंधक, मॉडल लोडर आदि भी है
Jarrett

5

संक्षिप्त जवाब? राक्षस।

लंबे जवाब? OGRE OpenGL पर एक आवरण है, इसलिए आपको बहुत कम काम करना होगा। आपको GPU या बाइंडिंग शेड्स में डेटा भेजने, या निचले स्तर पर छंटनी करने के बारे में इतना परेशान होने की ज़रूरत नहीं है। ओजीआरई का उपयोग उत्पादन के लिए ओपनजीएल की तुलना में करना बहुत तेज है, और संभावना है कि आपका कोड बहुत (बहुत मामूली) होगा।

यदि आप इंजन के विकास में रुचि रखते हैं, तो GL का उपयोग करें। और, OGRE का उपयोग करें। और मैं शायद OGRE के साथ शुरू करूँगा।


3

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

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


2

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

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

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