इस प्रश्न के संबंध में Using OpenGL extensions पर, इन एक्सटेंशन कार्यों का उद्देश्य क्या है? मैं उनका उपयोग क्यों करना चाहूंगा? इसके अलावा, क्या उनके उपयोग से जुड़े कोई ट्रेडऑफ या गॉथस हैं?ओपनजीएल एक्सटेंशन क्या हैं, और इनका उपयोग करने के लाभ/व्यापारिक क्या हैं?
उत्तर
ओपनजीएल मानक अलग-अलग विक्रेताओं को एक्सटेंशन के माध्यम से अतिरिक्त कार्यक्षमता प्रदान करने की अनुमति देता है क्योंकि नई तकनीक बनाई जाती है। एक्सटेंशन नए कार्यों और नए स्थिरांक पेश कर सकते हैं, और मौजूदा ओपनजीएल कार्यों पर प्रतिबंधों को आराम या हटा सकते हैं।
प्रत्येक विक्रेता के पास वर्णमाला संक्षेप है जिसका उपयोग उनके नए कार्यों और स्थिरांक नामकरण में किया जाता है। उदाहरण के लिए, एनवीआईडीआईए का संक्षेप (एनवी) का उपयोग उनके मालिकाना फ़ंक्शन glCombinerParameterfvNV() और उनके निरंतर GL_NORMAL_MAP_NV को परिभाषित करने में किया जाता है।
ऐसा हो सकता है कि एक से अधिक विक्रेता एक ही विस्तारित कार्यक्षमता को लागू करने के लिए सहमत हैं। उस स्थिति में, संक्षिप्त नाम EXT का उपयोग किया जाता है। यह और भी हो सकता है कि वास्तुकला समीक्षा बोर्ड विस्तार को "आशीर्वाद देता है"। इसके बाद इसे एक मानक विस्तार के रूप में जाना जाता है, और संक्षिप्त नाम एआरबी का उपयोग किया जाता है। पहला एआरबी एक्सटेंशन जीएल_एआरबी_मल्टीटेक्चर था, जो संस्करण 1.2.1 में पेश किया गया था। आधिकारिक विस्तार पदोन्नति पथ के बाद, मल्टीटेक्चरिंग अब वैकल्पिक रूप से लागू एआरबी एक्सटेंशन नहीं है, लेकिन संस्करण 1.3 के बाद से ओपनजीएल कोर एपीआई का हिस्सा रहा है।
एक एक्सटेंशन का उपयोग करने से पहले एक प्रोग्राम को अपनी उपलब्धता निर्धारित करना होगा, और उसके बाद विस्तार को परिभाषित करने वाले किसी भी नए कार्यों के लिए पॉइंटर्स प्राप्त करें। ऐसा करने के लिए तंत्र प्लेटफार्म-विशिष्ट है और जीएलईडब्ल्यू और जीएलईई जैसी पुस्तकालय प्रक्रिया को सरल बनाने के लिए मौजूद हैं।
ओपन एक्सटेंशनओपन विनिर्देश जोड़ी गई नई सुविधाओं रहे हैं, वे ओपन मानक निकाय द्वारा और विभिन्न ग्राफिक्स कार्ड विक्रेताओं द्वारा जोड़ा जाता है। ये प्रोग्रामर के संपर्क में नए फ़ंक्शन कॉल या चर के रूप में सामने आते हैं। ओपनजीएल विनिर्देशन के नए संस्करण के साथ नए कार्यक्षमता के प्रत्येक नए संस्करण और (आमतौर पर) में सभी पिछली कार्यक्षमता और एक्सटेंशन शामिल हैं।
ओपनजीएल एक्सटेंशन के साथ वास्तविक समस्या केवल विंडोज़ पर मौजूद है। माइक्रोसॉफ्ट ने ओपनजीएल v1.1 के बाद जारी किए गए किसी भी एक्सटेंशन का समर्थन नहीं किया है। ग्राफिक्स कार्ड विक्रेताओं ने हेडर फाइलों और पुस्तकालयों के माध्यम से इस कार्यक्षमता के अपने संस्करण को शिपिंग करके इसे पार किया। हालांकि, इसका उपयोग करके थोड़ा दर्दनाक हो सकता है जैसा कि आप शो से जुड़े सवाल हैं। लेकिन यह समस्या ज्यादातर GLEW की लोकप्रियता से दूर हो गई है, जो इसे आसानी से उपयोग में आसान पैकेज में लपेटने का ख्याल रखती है।
यदि आप हाल ही में ओपनजीएल एक्सटेंशन का उपयोग करते हैं, तो ध्यान रखें कि पुराने ग्राफिक्स हार्डवेयर पर इसका समर्थन नहीं किया जा सकता है। इसके अलावा, इन एक्सटेंशन का उपयोग करने के लिए कोई अन्य नुकसान नहीं है। मानक बनने वाले अधिकांश एक्सटेंशन बहुत अच्छे हैं उपयोगी और उनका उपयोग न करने के लिए बहुत कम तर्क है।
एक्सटेंशन सामान्य रूप से ओपनजीएल स्पेक के अगले संशोधन तक प्रतीक्षा किए बिना ओपनजीएल में नई कार्यक्षमता जोड़ने के लिए ग्राफिक्स कार्ड विक्रेताओं के लिए एक तरीका है। विभिन्न प्रकार के एक्सटेंशन हैं:
- विक्रेता एक्सटेंशन - केवल एक विक्रेता एक निश्चित प्रकार की कार्यक्षमता प्रदान करता है।
- उदाहरण:
NV_vertex_program
- उदाहरण:
- multivendor विस्तार - कई विक्रेताओं को एक साथ मिल गया और कार्यक्षमता पर सहमत हुए हैं।
- उदाहरण:
EXT_vertex_program
- उदाहरण:
- एआरबी विस्तार - ओपन वास्तुकला समीक्षा बोर्ड विस्तार आशीर्वाद दिया है। आपके पास उचित उम्मीद है कि इस प्रकार का एक्सटेंशन थोड़ी देर के लिए होगा।
- उदाहरण:
ARB_vertex_program
- उदाहरण:
एक्सटेंशन इन सभी चरणों के माध्यम से जाने की जरूरत नहीं है। कभी-कभी एक विस्तार केवल एक विक्रेता द्वारा लागू किया जाता है, हार्डवेयर डिजाइन अलग-अलग तरीके से जाने से पहले और एक्सटेंशन को छोड़ दिया जाता है। अन्य बार, एक विस्तार से एआरबी की स्थिति तक एक विस्तार हो सकता है इससे पहले कि हर कोई फैसला करता है कि बेहतर तरीका है। (ARB_vertex_program
दृष्टिकोण, उदाहरण के लिए, ARB_vertex_shader
के उच्च स्तरीय छायांकन भाषा दृष्टिकोण के पक्ष में अलग किया गया था जब कोर ओपनजीएल स्पेक में शेडर्स रोल करने का समय आया था।) यहां तक कि एआरबी एक्सटेंशन हमेशा के लिए नहीं रहते हैं; उदाहरण के लिए, आज मुझे ARB_matrix_palette
की आवश्यकता नहीं है।
यह सब कहा जा रहा है, एक्सटेंशन पर अद्यतित रहना बहुत अच्छा विचार है, विशेष रूप से नवीनतम एआरबी और एक्सटी एक्सटेंशन। अतीत में यह सच रहा है कि हार्डवेयर के माध्यम से कुछ 'फास्ट पथ' एक्सटेंशन के माध्यम से केवल पहुंच योग्य थे। इसी प्रकार, यदि आप जानना चाहते हैं कि हार्डवेयर का एक टुकड़ा क्या कर सकता है, तो विक्रेता-विशिष्ट एक्सटेंशन की तुलना में देखने के लिए कोई बेहतर जगह नहीं है।
तुम सिर्फ रहे ओपन में शुरू हो रही है, मैं जांच कर रही करने की सलाह देते हैं:
ARB_vertex_buffer_object
(कोने)ARB_vertex_shader
/ARB_fragment_shader
/ARB_shader_objects
/GLSL कल्पना (shaders)
अधिक उन्नत:
ARB/EXT_framebuffer_object
(ऑफ-स्क्रीन प्रतिपादन)
यह सभी कार्यक्षमता है जो कोर में घुमाया गया है, लेकिन अलगाव में इसे देखना अच्छा हो सकता है ताकि आप इसकी सीमाओं के लिए बेहतर महसूस कर सकें। (कोर ओपनजीएल स्पेक पुराने रूप से पुराने के साथ मिश्रित होता है, इसलिए यदि आप तेज़ पथ पर रहना चाहते हैं, और विरासत से बचने और कभी-कभी सॉफ़्टवेयर पथों में लागू होना चाहते हैं तो यह बहुत महत्वपूर्ण हो सकता है।)
जो कुछ भी आप करते हैं, उसे बनाएं सुनिश्चित करें कि आपके द्वारा उपयोग किए जाने वाले एक्सटेंशन के लिए उचित चेक हैं, और आवश्यकतानुसार फ़ॉलबैक। भले ही आपके कार्ड में कोई विस्तार हो, लेकिन इस बात की कोई गारंटी नहीं है कि एक्सटेंशन किसी अन्य विक्रेता के कार्ड पर या उसी कार्ड के साथ किसी अन्य ऑपरेटिंग सिस्टम पर भी उपस्थित होगा।
- 1. ओपनजीएल, जीटीके और क्यूटी पुस्तकालयों के बीच अंतर क्या हैं?
- 2. ओपनजीएल एक्सटेंशन, सी और glsl
- 3. क्या कर्नेल में ओपनजीएल का उपयोग कर सकते हैं?
- 4. क्या एसवीएन प्रोपेसेट जैसे मर्कुरियल एक्सटेंशन हैं?
- 5. डीएलएल का उपयोग करने के पेशेवर और विपक्ष क्या हैं?
- 6. एआरसी का उपयोग करने के फायदे और नुकसान क्या हैं?
- 7. Global.asax का उपयोग करने के पेशेवर और विपक्ष क्या हैं?
- 8. ओपनआईडी का उपयोग करने के फायदे और नुकसान क्या हैं?
- 9. क्या आप समांतर एक्सटेंशन का उपयोग कर रहे हैं?
- 10. ओपनजीएल एक्सटेंशन का उपयोग विंडोज
- 11. Mercurial के रंग एक्सटेंशन के लिए वैध रंग क्या हैं?
- 12. जावा और ओपनजीएल का उपयोग कर 3 डी पेड़ ड्राइंग के तरीके क्या हैं?
- 13. क्या सिम्फनी और केकेपीएचपी उपयोग करने योग्य हैं?
- 14. WinRT भाषा अनुमान क्या हैं?
- 15. क्या क्रोम एक्सटेंशन के लिए स्रोत मानचित्र काम करते हैं?
- 16. विस्तार के तरीके क्या हैं?
- 17. क्या फ़ाइल एक्सटेंशन ब्राउज़र के लिए महत्वपूर्ण हैं?
- 18. वृक्ष संरचनाओं को संग्रहित करने के लिए मॉडल क्या हैं और उनकी विशेषताएं क्या हैं?
- 19. ओपनजीएल - मैट्रिक्स स्टैक क्यों हटाया गया था और अब लोग क्या उपयोग कर रहे हैं?
- 20. वीबीए में कक्षाओं का उपयोग करने के क्या फायदे हैं?
- 21. पहचानकर्ताओं में यूनिकोड का उपयोग करने के अनुभव क्या हैं
- 22. पिनैक्स का उपयोग करने के सर्वोत्तम लाभ क्या हैं?
- 23. phpMyAdmin का उपयोग करने के विकल्प क्या हैं?
- 24. मेवेन का उपयोग करने के फायदे/नुकसान क्या हैं?
- 25. क्या 'scala.swing' का उपयोग करने के अच्छे उदाहरण हैं?
- 26. वैकल्पिक दृश्य इंजन का उपयोग करने के क्या फायदे हैं?
- 27. स्विंग के लिए उपयोग करने योग्य डेटाबेस लाइब्रेरी क्या हैं?
- 28. sql_variant का उपयोग करने के नुकसान क्या हैं?
- 29. एसक्यूएल सर्वर दृश्यों का उपयोग करने के डाउनसाइड्स क्या हैं?
- 30. एनडीके का उपयोग करने के पोर्टेबिलिटी प्रभाव क्या हैं?