2010-12-02 18 views
9

में प्रवेश करना कुछ साल पहले मैंने ओपनजीएल 2.1 के साथ बहुत सारे लोगों को लिखा था जो पूरे शेडर दृष्टिकोण की देखभाल किए बिना बुनियादी सुविधाओं (मुख्य रूप से तात्कालिक मोड) का उपयोग करते थे।नए ओपनजीएल

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

मुझे पता है जो वास्तविक राज्य के अत्याधुनिक का मुख्य अंतर हैं चाहते हैं कि मैं क्या करने के लिए इस्तेमाल किया गया था की तुलना में ओपन (मैं विकास में और परिणाम में दक्षता मतलब)।

क्या ओजीएल के पुराने दृष्टिकोण से आने वाले किसी भी ट्यूटोरियल मौजूद है? क्या मुझे मैन्युअल रूप से परिवर्तनों को लागू करने के अपने पुराने विचारों को छोड़ देना चाहिए, glBegin..glEnd के साथ चीजें खींचना चाहिए और इसी तरह?

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

+3

किसी भी नई परियोजना के लिए, आप लगभग निश्चित रूप से आधुनिक शैली का उपयोग करना चाहते हैं। GlBegin/glEnd शैली को "तत्काल मोड" कहा जाता है और कई प्रमुख रिलीज के लिए इसे हटा दिया गया है। (हम जीएल 4.1 और आईआईआरसी तक हैं, जब शेडर्स बोर्ड पर आए थे तो 2.1 से बाहर निकल रहे थे।) शेडर्स, कशेरुक वस्तुएं आदि जाने का रास्ता हैं। नीचे गिलाउम द्वारा वर्णित डुरियन सॉफ्टवेयर ब्लॉग पढ़ने योग्य है। – gavinb

उत्तर

6

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

LWJGL के साथ सकारात्मक बात यह है कि एक बार आप LWJGL तथा नियमित ओपन के बीच अंतर को समझने के कॉल है कि आप आमतौर पर अन्य भाषाओं से ट्यूटोरियल का उपयोग कर सकते है।

केवल 3 अच्छे संसाधन मैंने कभी रहे थे मिल सकता है:

  • http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Table-of-Contents.html "आधुनिक ओपन के लिए एक परिचय" (यह एक महान परिचय है लेकिन दुर्भाग्य से वहाँ एक लंबे समय में एक नया ट्यूटोरियल नहीं किया गया है)

  • ओपन Superbible पांचवें संस्करण (यह केवल पुस्तक है कि काम करने के नए रास्ते को शामिल किया गया है, और वास्तव में ओपन में वापस जाने के किसी को भी) http://www.amazon.com/OpenGL-SuperBible-Comprehensive-Tutorial-Reference/dp/0321712617

  • के लिए बहुत जरूरी है के रूप में यह केवल पूरी तरह से रेंडरर (पिछली बार मैं जाँच की) समर्थित है जावा बंदर इंजन LWJGL का उपयोग करता है, ब्राउज़िंग यह स्रोत LWJGL http://www.jmonkeyengine.com/

  • के लिए इंजन के डिजाइन में एक शिक्षा

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

3

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

विकिपीडिया के अनुसार, वहाँ जावा के लिए GLSL बाइंडिंग कर रहे हैं, ताकि आप उस पर गौर कर सकते हैं।

जाहिर है, LWJGL shaders समर्थन करता है:

http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html

मुझे आशा है कि मदद करता है: http://lwjgl.org/wiki/index.php?title=GLSL_Shaders_with_LWJGL

यहाँ पहली ब्लॉग पोस्ट मैं पहले mentionned के लिए लिंक है!