ओपनजीएल ईएस बनाम ओपनजीएल


91

OpenGL ES और OpenGL के बीच अंतर क्या हैं?


13
आप किस OpenGL और OpenGL ES संस्करणों की तुलना कर रहे हैं?
फरास असद

3
यदि आप किसी भी GL2 सामान का उपयोग करते हैं, तो इसे हमेशा GLES2 से दूर रखें। GL2 में चीजों को करने के विभिन्न तरीके हैं, लेकिन अधिकांश भाग के लिए GLES2 में एक तरीका है। इसके अलावा, आप इस तरह से सामान को पोर्ट करने की समस्याओं में नहीं भागेंगे।
zezba9000


जवाबों:


54

OpenGL ES और OpenGL के बीच अधिक महत्वपूर्ण अंतर glBegin को हटाने के दो हैं ... आदिम प्रतिपादन के लिए glEnd कॉलिंग शब्दार्थ (वर्टेक्स सरणियों के पक्ष में) और वर्टेक्स निर्देशांक और विशेषताओं का बेहतर समर्थन के लिए निश्चित-बिंदु डेटा प्रकारों की शुरूआत। एम्बेडेड प्रोसेसर की कम्प्यूटेशनल क्षमताओं, जिसमें अक्सर एफपीयू की कमी होती है

यहाँ एक नज़र है: OpenGL_ES


19
उन डेस्कटॉप / वर्कस्टेशन के हालिया संस्करणों से ओपनगैल के साथ ही हटा दिया गया।
बेन वोइगट

2
एक दिलचस्प तुलना ओजीएल 3 और जीएलईएस 2 के बीच है। ओजीएल 3 में तत्काल मोड को हटा दिया गया है (हालांकि अभी भी समर्थित है)। OGL 3 में कार्यक्षमता का बहुत (हालांकि सभी नहीं) GLES 2 में उपलब्ध है
nullspace

49

OpenGL ES एम्बेडेड सिस्टम के लिए opengl api है। यह एपीआई कार्यों की संख्या के मामले में सामान्य opengl की तुलना में सरल है, लेकिन उपयोग करने के लिए कठिन हो सकता है, क्योंकि आपको शीर्ष बफ़र्स का उपयोग करना होगा और अधिक शेड लिखना होगा।

जब आप एक सामान्य ओपेंग्ल का उपयोग करते हैं, तो आप glBegin और glEnd का उपयोग उन ज्यामिति आदिमों को घेरने के लिए कर सकते हैं जिन्हें आपको खींचने की आवश्यकता है, लेकिन Opengl ES का उपयोग करते समय, आपको वर्टेक्स बफ़र्स का उपयोग करना होगा। मुझे लगता है कि यह प्रदर्शन चिंताओं के लिए है।

वर्तमान में, दो ओपेंगल ES संस्करण हैं, 1.1 संस्करण केवल निश्चित रेंडरिंग पाइपलाइन का समर्थन कर सकता है, जबकि 2.0 संस्करण glsl shader का समर्थन करता है। हालाँकि इसकी कोई निश्चित रेंडरिंग पाइपलाइन नहीं है। दूसरे शब्दों में, आपको हर चीज के लिए अपना स्वयं का शेडर लिखना होगा।

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


3
आपको वर्टेक्स बफ़र्स का उपयोग करने की आवश्यकता नहीं है, मुझे नहीं लगता। आप तत्काल-मोड वर्टेक्स सरणियों का भी उपयोग कर सकते हैं। क्या मै गलत हु?
गुरुत्व

हाँ, आप शीर्ष बफ़र्स उपयोग करने के लिए की जरूरत नहीं है
स्टानिस्लाव Ageev

2
"जब आप एक सामान्य ओपेंग्ल का उपयोग करते हैं, तो आप glBegin और glEnd का उपयोग उन ज्यामिति आदिमों को घेरने के लिए कर सकते हैं जिनकी आपको आवश्यकता है,", न कि यदि आप चाहते हैं कि आपका कोड आगे संगत रहे, और यह भी कि यदि आप Mac का उपयोग कर रहे हैं, तो नहीं हूँ;)
जेरोफ़ोव 2

38

बस यह जोड़ना चाहते हैं कि OpenGL 3.3 और OpenGL ES 2.0, ज्यादातर OpenGL 3.3 की सुविधाओं के सबसेट का उपयोग करके, इंटरऑपरेबल हैं। मेरा कस्टम C ++ इंजन एंड्रॉइड / IOS / विंडोज / OSX / लिनक्स के लिए कुछ परिभाषित के साथ एक ही एपीआई कॉल का उपयोग करता है।

प्रमुख अंतर इस प्रकार हैं:

  • ज्यामिति shader समर्थन की कमी
  • कोई मिनट / अधिकतम सम्मिश्रण (इसके लिए कोई एक्सटेंशन हो सकता है)
  • कोई क्वाड लिस्ट आदिम नहीं
  • अधिक प्रतिबंधित बनावट प्रारूप (विशेषकर फ़्लोटिंग पॉइंट के बारे में)
  • glGetTexImage उपलब्ध नहीं है
  • कई अन्य उन्नत सुविधाओं के लिए एक ही प्रतिक्रिया नहीं है

कई अन्य अंतर भी हैं, लेकिन यह कई महत्वपूर्ण को कवर करता है।


7
मुझे लगता है कि हम सभी लापता फ़ंक्शन कॉल को शामिल करने के लिए धीरे-धीरे इस पोस्ट को संपादित कर सकते हैं। और तुलना करने के संस्करण अभी भी 3.3 और ईएस 2.0 होने चाहिए क्योंकि वे एक ही वर्ष में जारी किए गए थे
कॉफिडेवलर

8

OpenGL ES का अर्थ है एंबेडेड सिस्टम के लिए ओपन ग्राफिक्स लाइब्रेरी (OpenGL ES या GLES) ओपन 2 जी और 3 डी कंप्यूटर ग्राफिक्स जैसे कि वीडियो गेम द्वारा उपयोग किए जाने वाले, आमतौर पर हार्डवेयर-त्वरित उपयोग करने के लिए ओपन प्रोग्रामिंग कंप्यूटर ग्राफिक्स एप्लीकेशन (इंटरफेस) प्रदान करता है। एक ग्राफिक्स प्रोसेसिंग यूनिट (GPU)। यह स्मार्टफोन, कंप्यूटर टैबलेट, वीडियो गेम कंसोल और पीडीए जैसे एम्बेडेड सिस्टम के लिए डिज़ाइन किया गया है।

OpenGL | ES आधिकारिक वेबसाइट: http://www.opengl.org/

आप विकी से और अधिक जानकारी प्राप्त कर सकते हैं: http://en.wikipedia.org/wiki/OpenGL_ES


6

यहाँ OpenGL ES अवलोकन की समीक्षा करें: http://www.khronos.org/opengles/

संक्षेप में, ES "एम्बेडेड सिस्टम" के लिए ओपन जीएल का सबसेट है। विशिष्ट अंतर उन संस्करणों और फ़ीचर सेटों पर निर्भर करेगा जिनकी आप तुलना कर रहे हैं।



4

मुझे लगता है कि यदि आप पूछते हैं कि "ओपन और ओपनजीएल ईएस के बीच अंतर क्या हैं" तो आपको बेहतर जवाब मिलेगा।

OpenGL ES 1.1 और ES 2.0, OpenGL 1.5 और 2.0 और OpenGL 3.0 और 4.0 के बीच गहरा अंतर है।

जैसा कि अन्य ने वर्णन किया है कि ES एम्बेडेड सिस्टम के लिए लिखा गया था। यह आरंभ से ही GL विनिर्देशन के पहले "घर की सफाई" का प्रतिनिधित्व करता है। OpenGL के पास एक ही काम करने के कई तरीके थे (जैसे आप एक क्वाड / रेक्ट दो अलग-अलग तरीके से ड्रा कर सकते हैं और एक पिक्सेल इमेज को दो अलग-अलग तरीकों से ब्लिट कर सकते हैं, आदि)। ES सामान्य विवरण के रूप में कम सुविधाओं के साथ OpenGL की तुलना में सरल है क्योंकि यह कम परिष्कृत हार्डवेयर के लिए डिज़ाइन किया गया है।

मैं आपसे आग्रह करता हूं कि ओपनजीएल ईएस 1.1 को न देखें क्योंकि यह भूतकाल है और भविष्य में जिस तरह से ओएनजीसीएल या ओपनजीएल ईएस वास्तुशिल्प रूप से आगे बढ़ रहा है उसका प्रतिनिधित्व नहीं करता है।


4

शब्दावली और संस्करण काफी भ्रामक हैं (विशेषकर newbies के लिए)। OpenGL और OpenGL-ES (GLES) पर अधिक समग्र दृष्टिकोण के लिए, OpenGL - तब और अब देखें


1
लिंक में उदाहरणों के साथ एक महान ट्यूटोरियल भी है, अच्छी तरह से समझाया गया है कि ओपनजीएल की पाइपलाइन कार्य कैसे करती है।
जस्ट वी

यहाँ ट्यूटोरियल के लिए लिंक है
एपी-ओएसडी

3

दोनों के बीच मुख्य अंतर यह है कि OpenGL ES स्मार्टफोन जैसे एम्बेडेड सिस्टम के लिए बनाया गया है, जबकि OpenGL डेस्कटॉप पर एक है। कोडिंग स्तर पर, ओपनजीएल ईएस फिक्स्ड-फंक्शन फ़ंक्शन जैसे ग्लबेगिन / ग्लैंड आदि का समर्थन नहीं करता है ... ओपनजीएल फिक्स्ड-फ़ंक्शन पाइपलाइन (एक संगतता प्रोफ़ाइल का उपयोग करके) का समर्थन कर सकता है।


2

OpenGL 4.6 की तुलना में ES 3.0 के लिए आधुनिक उत्तर, स्वीकृत उत्तर की तुलना में अलग है। अब, सभी फिक्स्ड-पाइपलाइन सामान चला गया है।

EMBEDDED सिस्टम के लिए ES, कम मजबूत है।


1

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


0

बस कह रहा है, opengl डेस्कटॉप संस्करण है और opengl es सेलफोन जैसे एम्बेडेड सिस्टम के लिए है जहां कंप्यूटर की तुलना में मेमोरी और प्रदर्शन की कमी है। opengl es का उपयोग करना कठिन होगा।


0

ओपनजीएल 2 डी और 3 डी ग्राफिक्स एपीआई है जो हजारों अनुप्रयोगों को कंप्यूटर प्लेटफॉर्म की एक विस्तृत विविधता में लाता है।

OpenGL ES डेस्कटॉप OpenGL का अच्छी तरह से परिभाषित सबसेट है।

OpenGL® ES एक रॉयल्टी-फ्री, क्रॉस-प्लेटफ़ॉर्म एपीआई है जो फुल-फ़ंक्शन 2 डी और 3 डी ग्राफिक्स एम्बेडेड सिस्टम पर - जिसमें कंसोल, फोन, उपकरण और वाहन शामिल हैं। यह डेस्कटॉप OpenGL के अच्छी तरह से परिभाषित सबसेट के होते हैं, ...

इस लिंक को देखें ।

पुनश्च

वेबजीएल ओपन स्पेस ईएस के साथ विनिर्देशन साझा करता है, अर्थात यदि आपने डेस्कटॉप ओपनजीएल सीखा है, तो दूसरों को सीखना आसान है (ओपनजीएल ईएस, वेबजीएल)।

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