तो ... वर्तमान में हम ओपन 4.2 बाहर है, जो के रूप में मैंने पढ़ा कहीं DX11 हार्डवेयर की आवश्यकता है (यह क्या मतलब है?) और 'पक्ष' पुस्तकालयों की स्थापना की, उदाहरण के लिए विंडो बनाने की है।
DX11 हार्डवेयर ... हार्डवेयर है जो बॉक्स के किनारे लिखे गए "डायरेक्टएक्स 11 का समर्थन करता है" हार्डवेयर है। मुझे यकीन नहीं है कि आप यहां क्या पूछ रहे हैं; क्या आप स्पष्ट हैं कि डायरेक्ट 3 डी क्या है, डी 3 डी 11 क्या है, या डी 3 डी 11 को पूर्व संस्करणों से अलग करता है?
एफवाईआई: डी 3 डी प्रतिपादन हार्डवेयर तक पहुंचने के लिए ओपनजीएल का उपयोग करने का एकमात्र विकल्प है। संस्करण 11 एपीआई का सबसे हालिया संस्करण है। और डी 3 डी 11 डी 3 डी 10 की तुलना में कुछ नई चीजें जोड़ता है, लेकिन शुरुआत करने वाले को कुछ भी नहीं चाहिए।
ओपनजीएल एक विनिर्देश है जो ग्राफिक्स परिचालनों के लिए एक निश्चित इंटरफ़ेस का वर्णन करता है। यह इंटरफ़ेस बनाया गया है ओपनजीएल का हिस्सा नहीं है। इसलिए, ओपनजीएल संदर्भ बनाने के लिए प्रत्येक प्लेटफ़ॉर्म का अपना तरीका होता है। विंडोज़ WGL के साथ Win32 API का उपयोग करता है। एक्स-विंडोज एक्सएल विंडोज एपीआई का उपयोग जीएलएक्स कार्यों के साथ करता है। इत्यादि।
जीएलयूटी, जीएलएफडब्लू, आदि जैसे पुस्तकालय पुस्तकालय हैं जो अमूर्त इन सभी मतभेदों को हैं। वे आपके लिए ओपनजीएल विंडो बनाते और प्रबंधित करते हैं, ताकि आपको प्लेटफ़ॉर्म-विशिष्ट विवरणों के साथ अपना कोड गंदे न करना पड़े। आपको उनमें से किसी का भी उपयोग नहीं करना है।
अनुमोदित, यदि आप ओपनजीएल सीखने में रुचि रखते हैं, तो एचडब्ल्यूएनडी और इस तरह की देखभाल करने के तरीके के साथ प्लेटफॉर्म-विशिष्ट मिनीटाइ से निपटने से बचने के लिए सबसे अच्छा है।
और हमारे पास GLEW भी है, जो एक्सटेंशन लोडिंग उपयोगिता है ... प्रतीक्षा करें ... GLUT/GLFW पहले से ही एक एक्सटेंशन नहीं है? क्या इसका उपयोग करने का कोई कारण है, जैसे कि रुचि रखने के लिए कोई वास्तव में महत्वपूर्ण एक्सटेंशन हैं?
यह एक और गलतफहमी है। GLUT एक लाइब्रेरी है, विस्तार नहीं है। एक ओपनजीएल एक्सटेंशन ओपनजीएल का हिस्सा है। देखें, ओपनजीएल सिर्फ एक विनिर्देश है, एक दस्तावेज़। ओपनजीएल का कार्यान्वयन जिसे आप वर्तमान में ओपनजीएल ग्राफिक्स सिस्टम लागू कर रहे हैं, लेकिन यह उस ग्राफिक्स सिस्टम में कई एक्सटेंशन भी कार्यान्वित कर सकता है।
जीएलयूटी ओपनजीएल का हिस्सा नहीं है; यह सिर्फ एक पुस्तकालय है। जीएलयूटी का काम ओपनजीएल विंडो बनाने और प्रबंधित करना है। GLEW भी एक लाइब्रेरी है, जिसका उपयोग loading OpenGL functions के लिए किया जाता है। यह एकमात्र विकल्प नहीं है, लेकिन यह एक लोकप्रिय है।
अभी तक हमारे पास विंडो निर्माण (और कुछ उपयोगिताएं) हैं, लेकिन ... ओजीएल बनावट बनावट, न तो 3 डी मॉडल का ख्याल रखता है। मुझे कितने अन्य libs की आवश्यकता है?
ओपनजीएल एक गेम इंजन नहीं है। यह एक ग्राफिक्स सिस्टम है, जो समर्पित ग्राफिक्स हार्डवेयर के साथ इंटरफेसिंग के लिए डिज़ाइन किया गया है। इस नौकरी के पास किसी भी प्रकार की फाइल से कुछ भी लोड करने जैसी चीजों से कोई लेना देना नहीं है। हां, एक गेम बनाने के लिए इसकी आवश्यकता होती है, लेकिन जैसा कि पहले बताया गया था, ओपनजीएल एक गेम इंजन नहीं है।
यदि आपको कुछ ऐसा करने के लिए फ़ाइल प्रारूप लोड करने की आवश्यकता है, तो आपको लोडिंग करने के लिए कोड लिखना होगा (और जीएल के साथ इंटरफेस के लिए आवश्यक प्रारूप समायोजन) या पुस्तकालय डाउनलोड करना होगा जो इसके लिए करता है आप। ओपनजीएल विकी रखता है।
प्रसिद्ध नेहे ट्यूटोरियल (में) है। अत्यंत अस्पष्ट कोड और पुराने समाधान के साथ, WinApi के उपयोग के साथ सी में लिखा गया है, फिर भी अभी भी सबसे लोकप्रिय है। रेड बुक जैसी कुछ चीज़ें पाई जा सकती हैं, जो कि 2.x या 3.x जैसे संस्करणों से संबंधित हैं, हालांकि 4.x का उल्लेख करने वाले कुछ कम (और अधूरा) ट्यूटोरियल हैं।
क्या साथ जाना है?
ओपनजीएल विकी learning OpenGL stuff, पुराने स्कूल और अधिक आधुनिक दोनों के लिए ऑनलाइन सामग्री की एक सूची बनाए रखता है।
चेतावनी: लापरवाह स्व-संवर्धन अनुयायियों!
My tutorials on learning graphics बहुत से अनुभागों के साथ बहुत अच्छे हैं और अभी भी सक्रिय रूप से काम कर रहे हैं। यह किसी ओपनजीएल 4.x-विशिष्ट कार्यक्षमता को नहीं सिखाता है, लेकिन ओपनजीएल 3.3 4.2 के साथ पूरी तरह से संगत है। वे सभी कार्यक्रम 4.x हार्डवेयर पर ठीक चलेंगे।
I also maintain an unofficial SDK for OpenGL. यह उपयोगी उपयोगिताओं का एक बंडल है, जो सभी को सरल, एकीकृत बिल्ड सिस्टम द्वारा बनाया गया है। यह भी उचित रूप से अच्छी तरह से प्रलेखित है।
आपका "प्रश्न" बहुत ही फोकस और उलझन में है, कई चीजों का हवाला देते हुए जो सत्य नहीं हैं या चीजें कैसे काम करती हैं, इसकी गलतफहमी हैं। क्या आप यह स्पष्ट करने की कोशिश कर सकते हैं कि आप क्या हासिल कर रहे हैं और आपको क्या पता लगाना है? –
मैंने लिखा है कि मैं "यह सुनिश्चित करना चाहता हूं कि कुछ चीजों पर मेरी वास्तविक समझ मान्य है" – Neomex
"जीएलयूटी/जीएलएफडब्ल्यू पहले से ही एक एक्सटेंशन नहीं है?" - नही, वे नही हैं। जीएलयूटी एक स्वतंत्र पुस्तकालय है, जैसा कि जीएलएफडब्ल्यू है। एक्सटेंशन सिस्टम के ओपनजीएल कार्यान्वयन का हिस्सा हैं, कुछ लाइब्रेरी नहीं। GLEW एक्सटेंशन तक आसान पहुंच के लिए एक लाइब्रेरी है। – datenwolf