OpenGL ES और OpenGL के बीच अंतर क्या हैं?
OpenGL ES और OpenGL के बीच अंतर क्या हैं?
जवाबों:
OpenGL ES और OpenGL के बीच अधिक महत्वपूर्ण अंतर glBegin को हटाने के दो हैं ... आदिम प्रतिपादन के लिए glEnd कॉलिंग शब्दार्थ (वर्टेक्स सरणियों के पक्ष में) और वर्टेक्स निर्देशांक और विशेषताओं का बेहतर समर्थन के लिए निश्चित-बिंदु डेटा प्रकारों की शुरूआत। एम्बेडेड प्रोसेसर की कम्प्यूटेशनल क्षमताओं, जिसमें अक्सर एफपीयू की कमी होती है
यहाँ एक नज़र है: OpenGL_ES
OpenGL ES एम्बेडेड सिस्टम के लिए opengl api है। यह एपीआई कार्यों की संख्या के मामले में सामान्य opengl की तुलना में सरल है, लेकिन उपयोग करने के लिए कठिन हो सकता है, क्योंकि आपको शीर्ष बफ़र्स का उपयोग करना होगा और अधिक शेड लिखना होगा।
जब आप एक सामान्य ओपेंग्ल का उपयोग करते हैं, तो आप glBegin और glEnd का उपयोग उन ज्यामिति आदिमों को घेरने के लिए कर सकते हैं जिन्हें आपको खींचने की आवश्यकता है, लेकिन Opengl ES का उपयोग करते समय, आपको वर्टेक्स बफ़र्स का उपयोग करना होगा। मुझे लगता है कि यह प्रदर्शन चिंताओं के लिए है।
वर्तमान में, दो ओपेंगल ES संस्करण हैं, 1.1 संस्करण केवल निश्चित रेंडरिंग पाइपलाइन का समर्थन कर सकता है, जबकि 2.0 संस्करण glsl shader का समर्थन करता है। हालाँकि इसकी कोई निश्चित रेंडरिंग पाइपलाइन नहीं है। दूसरे शब्दों में, आपको हर चीज के लिए अपना स्वयं का शेडर लिखना होगा।
Opengl ES का उपयोग मुख्य रूप से सेल फोन और वेब (वेबल) पर किया जाता है। युक्ति के अनुसार, आपका डेस्कटॉप ओपेंगल चालक सभी ओपेंगल एसस एपिस का समर्थन कर सकता है।
बस यह जोड़ना चाहते हैं कि OpenGL 3.3 और OpenGL ES 2.0, ज्यादातर OpenGL 3.3 की सुविधाओं के सबसेट का उपयोग करके, इंटरऑपरेबल हैं। मेरा कस्टम C ++ इंजन एंड्रॉइड / IOS / विंडोज / OSX / लिनक्स के लिए कुछ परिभाषित के साथ एक ही एपीआई कॉल का उपयोग करता है।
प्रमुख अंतर इस प्रकार हैं:
कई अन्य अंतर भी हैं, लेकिन यह कई महत्वपूर्ण को कवर करता है।
OpenGL ES का अर्थ है एंबेडेड सिस्टम के लिए ओपन ग्राफिक्स लाइब्रेरी (OpenGL ES या GLES) ओपन 2 जी और 3 डी कंप्यूटर ग्राफिक्स जैसे कि वीडियो गेम द्वारा उपयोग किए जाने वाले, आमतौर पर हार्डवेयर-त्वरित उपयोग करने के लिए ओपन प्रोग्रामिंग कंप्यूटर ग्राफिक्स एप्लीकेशन (इंटरफेस) प्रदान करता है। एक ग्राफिक्स प्रोसेसिंग यूनिट (GPU)। यह स्मार्टफोन, कंप्यूटर टैबलेट, वीडियो गेम कंसोल और पीडीए जैसे एम्बेडेड सिस्टम के लिए डिज़ाइन किया गया है।
OpenGL | ES आधिकारिक वेबसाइट: http://www.opengl.org/
आप विकी से और अधिक जानकारी प्राप्त कर सकते हैं: http://en.wikipedia.org/wiki/OpenGL_ES
यहाँ OpenGL ES अवलोकन की समीक्षा करें: http://www.khronos.org/opengles/
संक्षेप में, ES "एम्बेडेड सिस्टम" के लिए ओपन जीएल का सबसेट है। विशिष्ट अंतर उन संस्करणों और फ़ीचर सेटों पर निर्भर करेगा जिनकी आप तुलना कर रहे हैं।
OpenGL ES रजिस्ट्री में OpenGL ES और OpenGL के संगत संस्करण के बीच विस्तृत API अंतर हैं:
हालाँकि, OpenGL ES 3.0 के लिए अंतर रखने वाला कोई दस्तावेज़ नहीं है।
मुझे लगता है कि यदि आप पूछते हैं कि "ओपन और ओपनजीएल ईएस के बीच अंतर क्या हैं" तो आपको बेहतर जवाब मिलेगा।
OpenGL ES 1.1 और ES 2.0, OpenGL 1.5 और 2.0 और OpenGL 3.0 और 4.0 के बीच गहरा अंतर है।
जैसा कि अन्य ने वर्णन किया है कि ES एम्बेडेड सिस्टम के लिए लिखा गया था। यह आरंभ से ही GL विनिर्देशन के पहले "घर की सफाई" का प्रतिनिधित्व करता है। OpenGL के पास एक ही काम करने के कई तरीके थे (जैसे आप एक क्वाड / रेक्ट दो अलग-अलग तरीके से ड्रा कर सकते हैं और एक पिक्सेल इमेज को दो अलग-अलग तरीकों से ब्लिट कर सकते हैं, आदि)। ES सामान्य विवरण के रूप में कम सुविधाओं के साथ OpenGL की तुलना में सरल है क्योंकि यह कम परिष्कृत हार्डवेयर के लिए डिज़ाइन किया गया है।
मैं आपसे आग्रह करता हूं कि ओपनजीएल ईएस 1.1 को न देखें क्योंकि यह भूतकाल है और भविष्य में जिस तरह से ओएनजीसीएल या ओपनजीएल ईएस वास्तुशिल्प रूप से आगे बढ़ रहा है उसका प्रतिनिधित्व नहीं करता है।
शब्दावली और संस्करण काफी भ्रामक हैं (विशेषकर newbies के लिए)। OpenGL और OpenGL-ES (GLES) पर अधिक समग्र दृष्टिकोण के लिए, OpenGL - तब और अब देखें ।
दोनों के बीच मुख्य अंतर यह है कि OpenGL ES स्मार्टफोन जैसे एम्बेडेड सिस्टम के लिए बनाया गया है, जबकि OpenGL डेस्कटॉप पर एक है। कोडिंग स्तर पर, ओपनजीएल ईएस फिक्स्ड-फंक्शन फ़ंक्शन जैसे ग्लबेगिन / ग्लैंड आदि का समर्थन नहीं करता है ... ओपनजीएल फिक्स्ड-फ़ंक्शन पाइपलाइन (एक संगतता प्रोफ़ाइल का उपयोग करके) का समर्थन कर सकता है।
OpenGL 4.6 की तुलना में ES 3.0 के लिए आधुनिक उत्तर, स्वीकृत उत्तर की तुलना में अलग है। अब, सभी फिक्स्ड-पाइपलाइन सामान चला गया है।
EMBEDDED सिस्टम के लिए ES, कम मजबूत है।
OpenGL ES बस एम्बेडेड सिस्टम के लिए OpenGL एपीआई है (OpenGL ES OpenGL एम्बेडेड सिस्टम को संदर्भित करता है)। इसलिए इसका OpenGL का एक उपसमूह और व्यापक रूप से सेल फोन और कुछ वीआर सिस्टम में उपयोग किया जाता है जो इसे कम परिष्कृत हार्डवेयर के लिए डिज़ाइन किया गया है। OpenGL ES में OpenGL की तुलना में कम पद और कार्य हैं, इस बारे में सोचें: आप बस उस प्रणाली के लिए जो आवश्यक है, उसे लेते हैं क्योंकि अगर हमें अपने पूरे काम में फ़ंक्शन की आवश्यकता नहीं है या हार्डवेयर इसके साथ सौदा नहीं कर सकता है, इसलिए जोड़ने का कोई मतलब नहीं है वह कार्य करता है, लेकिन इसमें कुछ सरल बनाने के लिए अधिक Shaders और जटिल कोड लिखने की आवश्यकता के कारण इस API का उपयोग अधिक कठिन बनाता है क्योंकि OpenGL ES OpenGL के रूप में ग्राफिक्स पाइपलाइन में Shaders प्रदान नहीं करता है। OpenGL ES का अंतिम संस्करण 3.2 है यह अब अतिरिक्त ज्यामिति के विवरण, नए ज्यामिति शेड के लिए समर्थन टेसेलेशन प्रदान कर सकता है। इसलिए मैं आपको ओपनजीएल ईएस 3.0+ (अपनी लक्ष्य भाषा के मामले में) सीखने या उपयोग करने की सलाह देता हूं क्योंकि अब और अगली पीढ़ी पुराने संस्करणों का उपयोग अधिक शक्तिशाली हार्डवेयर और ग्राफिक्स कार्ड के साथ नहीं करेगी और यदि आपका लक्ष्य ओपन 3 v3 के साथ शुरू होता है। 3+ या 4.0+। यदि आपके पास अधिक समय है तो पुराने संस्करणों पर एक त्वरित दृष्टिकोण बनाने के लिए कोई समस्या नहीं है, तो यह समझने के लिए कि चीजें कैसे विकसित हुईं और क्यों हुईं। आप अधिक जानकारी के लिए इस लिंक को देख सकते हैं:https://en.wikipedia.org/wiki/OpenGL_ES
ओपनजीएल 2 डी और 3 डी ग्राफिक्स एपीआई है जो हजारों अनुप्रयोगों को कंप्यूटर प्लेटफॉर्म की एक विस्तृत विविधता में लाता है।
OpenGL ES डेस्कटॉप OpenGL का अच्छी तरह से परिभाषित सबसेट है।
OpenGL® ES एक रॉयल्टी-फ्री, क्रॉस-प्लेटफ़ॉर्म एपीआई है जो फुल-फ़ंक्शन 2 डी और 3 डी ग्राफिक्स एम्बेडेड सिस्टम पर - जिसमें कंसोल, फोन, उपकरण और वाहन शामिल हैं। यह डेस्कटॉप OpenGL के अच्छी तरह से परिभाषित सबसेट के होते हैं, ...
इस लिंक को देखें ।
पुनश्च
वेबजीएल ओपन स्पेस ईएस के साथ विनिर्देशन साझा करता है, अर्थात यदि आपने डेस्कटॉप ओपनजीएल सीखा है, तो दूसरों को सीखना आसान है (ओपनजीएल ईएस, वेबजीएल)।