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


30

Android OpenGL ES का उपयोग करता है, इसके और OpenGL के बीच क्या अंतर है?


1
इस लिंक का बहुत अच्छा वर्णन है: wiki.maemo.org/OpenGL-ES
Winder

जवाबों:


13

OpenGL ES (एंबेडेड सिस्टम) OpenGL का एक छीन लिया गया संस्करण है। उन दोनों के बीच बहुत अंतर हैं और यदि आप विवरण में रास्ता बनाना चाहते हैं, तो आप इस 128 विनिर्देश पत्र को पढ़ सकते हैं। लेकिन ES OpenGL का सबसेट है, इसलिए सभी ES ऐप नॉन ES सिस्टम पर काम करते हैं, लेकिन इसके विपरीत नहीं।

कोई एक जगह नहीं है जहां आप आसानी से परिभाषित कर सकते हैं कि ईएस में क्या है और क्या नहीं है। यहां तक ​​कि एक परिभाषा है "ओपन-ईएस, ओपेनगेल की तरह है, लेकिन बहुत सारे सामान के बिना। उदाहरण के लिए, कोई ग्लोबिन या ग्लैंड नहीं है।"


5
ES OpenGL का सीधा उपसमूह नहीं है, इसलिए आपका दावा है कि सभी ES ऐप्स गैर ES सिस्टम पर काम करते हैं, यह सच नहीं है।
जरी कोमप्पा

5
@ जरीकोम्प्पा - यह ओपनजीएल 4.1 के रूप में है।
DMAN

परिवर्तनों / अंतर का एक अच्छा सारांश अच्छा होगा।
बोब्बोबो

19

काश, उत्तर में से एक भी नहीं है दोनों पूर्ण और पूरी तरह से सही है। वास्तव में, OpenGL-ES दो चीजें करता है OpenGL नहीं:

1) यह नीचे स्ट्रिप्स और फिर OpenGL API का विस्तार करके इसे मोबाइल प्लेटफ़ॉर्म के लिए उपयुक्त बनाता है। यही है, पहले वे एपीआई और उन विशेषताओं को छीन लेते हैं जिनकी आपको वास्तव में आवश्यकता नहीं होती है, और मोबाइल कार्यान्वयन के लिए बोझ हैं, जैसे कि बहुभुज प्रदान करना या प्रदर्शन सूचियों का उपयोग करना। तब यह मोबाइल प्लेटफ़ॉर्म के लिए इसे और अधिक उपयोगी बनाने के लिए कुछ विवेकपूर्ण विस्तार करता है। हालांकि मुझे इसका एक उदाहरण भी याद नहीं है।

2) यह मोबाइल प्लेटफॉर्म के विंडो मैनेजर (और इसलिए देशी ग्राफिक्स हार्डवेयर) को इंटरफ़ेस प्रदान करता है। ओपनएल-ईएस का यह हिस्सा, जिसे ईजीएल के रूप में जाना जाता है, डेस्कटॉप पर ग्लूट की तरह है। सिवाय इसके कि इसके पास उन सुविधा विधियों में से कोई भी नहीं है जो उस इंटरफ़ेस के लिए कड़ाई से आवश्यक नहीं हैं। तो पॉलीहेड्रा या गोले (GLUT में) की तरह ड्राइंग के लिए कोई एपीआई नहीं है। लेकिन, उदाहरण के लिए, एपीआई जो GLUT's init (), और DisplayFunc () और ReshapeFunc () कॉलबैक के अनुरूप हैं।


2
EGL OpenGL ES का हिस्सा नहीं है। यह अपनी अलग बात है। देखिए युक्ति। यह OpenGL ES का एक आवश्यक हिस्सा नहीं है और यह कहने के अलावा कि यह आपके सिस्टम पर मौजूद हो सकता है, लेकिन अन्यथा विंडो ओपन सेटिंग ES के दायरे से बाहर होने के अलावा बमुश्किल उल्लेख किया गया है
gman

7

Android पर दो OpenGL ES संस्करण उपलब्ध हैं:

  • OpenGL ES 1.x (1.0 या 1.1): तत्काल आदेशों के बिना OpenGL 1.5 का सबसेट
    • कोई glBegin / glEnd नहीं
    • कोई क्वाड या बहुभुज समर्थन नहीं
  • OpenGL ES 2.0: निश्चित पाइपलाइन के बिना OpenGL 3.X का सबसेट
    • वर्टेक्स शेड्स
    • टुकड़े टुकड़े करना
    • ज्यामिति शेड उपलब्ध नहीं हैं

चेतावनी, OpenGL ES 2.0 OpenGL ES 1.X के साथ संगत नहीं है!

लगभग सभी Android फोन में OpenGL 1.X GPU है और अधिकांश में 2.0 हैं। OpenGL ES 2.0 केवल एंड्रॉइड 2.x या नए के साथ उपलब्ध है।

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