OpenGL ES versus OpenGL

Wat zijn de verschillen tussen OpenGL ES en OpenGL?


Antwoord 1, autoriteit 100%

Twee van de meer significante verschillen tussen OpenGL ES en OpenGL zijn de verwijdering van de glBegin … glEnd-aanroepsemantiek voor primitieve weergave (ten gunste van hoekpuntarrays) en de introductie van vaste-puntgegevenstypen voor hoekpuntcoördinaten en attributen om de rekencapaciteiten van embedded processors, die vaak geen FPU hebben, beter te ondersteunen

Kijk hier: OpenGL_ES


Antwoord 2, autoriteit 88%

OpenGL ES is de opengl api voor embedded systemen. Het is eenvoudiger dan de normale opengl in termen van het aantal api-functies, maar kan moeilijker te gebruiken zijn, omdat je vertex-buffers moet gebruiken en meer shaders moet schrijven.

Als je een normale opengl gebruikt, kun je glBegin en glEnd gebruiken om de geometrie-primitieven die je moet tekenen in te sluiten, maar als je Opengl ES gebruikt, zul je vertex-buffers moeten gebruiken.
Ik denk dat dit voor prestatieproblemen is.

Momenteel zijn er twee Opengl ES-versies, de 1.1-versie ondersteunt alleen de vaste rendering-pipeline, terwijl de 2.0-versie glsl shader ondersteunt. Het heeft echter geen vaste weergavepijplijn. Met andere woorden, u zult voor alles uw eigen shader moeten schrijven.

Opengl ES wordt voornamelijk gebruikt op mobiele telefoons en internet (webgl). Volgens de specificaties kan uw desktop-opengl-stuurprogramma alle opengl es api’s ondersteunen.


Antwoord 3, autoriteit 74%

Ik wil eraan toevoegen dat OpenGL 3.3 en OpenGL ES 2.0 grotendeels interoperabel zijn, door gebruik te maken van een subset van de functies van OpenGL 3.3. Mijn aangepaste C++-engine gebruikt dezelfde API-aanroepen, met een paar definities, voor Android/IOS/Windows/OSX/Linux.

Een van de belangrijkste verschillen zijn:

  • gebrek aan ondersteuning voor geometrie shaders
  • geen min/max blending (hier kan een extensie voor zijn)
  • geen Quad List primitief
  • meer beperkte textuurformaten (vooral met betrekking tot drijvende komma)
  • glGetTexImage is niet beschikbaar
  • er is geen Transform Feedback, hetzelfde geldt voor verschillende andere geavanceerde functies

Er zijn ook veel andere verschillen, maar dat dekt een aantal van de belangrijkste.


Antwoord 4, autoriteit 16%

OpenGL ES betekent Open Graphics Library for Embedded Systems (OpenGL ES of GLES) is een subset van de OpenGL computer graphics rendering application programming interface (API) voor het renderen van 2D- en 3D-computergraphics zoals die worden gebruikt door videogames, meestal hardware -versneld met behulp van een grafische verwerkingseenheid (GPU). Het is ontworpen voor embedded systemen zoals smartphones, computertablets, videogameconsoles en PDA’s.

De officiële website van OpenGL|ES: http://www.opengl.org/

u kunt ook meer informatie krijgen van wiki: http://en.wikipedia.org/wiki/OpenGL_ES


Antwoord 5, autoriteit 10%

Bekijk hier het OpenGL ES-overzicht: http://www.khronos.org/opengles/

Kortom, ES is een subset van Open GL voor “embedded systems”. Specifieke verschillen zijn afhankelijk van de versies en functiesets die u vergelijkt.


Antwoord 6, autoriteit 9%

Het OpenGL ES-register bevat gedetailleerde API-verschillen tussen OpenGL ES en de corresponderende versie van OpenGL:

Er is echter geen document met de verschillen voor OpenGL ES 3.0.


Antwoord 7, autoriteit 9%

Ik denk dat je een beter antwoord krijgt als je vraagt ​​”wat zijn de verschillen tussen OpenGL en OpenGL ES”.

Er zijn grote verschillen tussen de OpenGL ES 1.1 en ES 2.0, OpenGL 1.5 en 2.0 en OpenGL 3.0 en 4.0.

Zoals anderen al hebben beschreven ES werd voor embedded systemen geschreven. Het vertegenwoordigt ook de eerste “huis schoonmaken” van de GL specificatie sinds haar oprichting. OpenGL had a) vele manieren om hetzelfde (bijv. Je kon een quad / rect trekken twee verschillende manieren en BLIT beeld pixel twee verschillende manieren, etc) te doen. ES is eenvoudiger dan OpenGL met minder functies als een algemene verklaring, omdat het is ontworpen voor minder geavanceerde hardware.

Ik verzoek u dringend om niet te kijken naar OpenGL ES 1.1 want het is het verleden en niet de manier waarop OpenGL vertegenwoordigen of OpenGL ES beweegt architectonisch in de toekomst.


8, Autoriteit 7%

Het belangrijkste verschil tussen de twee is dat OpenGL ES is gemaakt voor embedded systemen zoals smartphones, terwijl OpenGL is de een op desktops. Aan het coderingsniveau aangeeft, is OpenGL ES ondersteunt geen vaste functie functies zoals glBegin / Glend etc … OpenGL kan ondersteunen vaste-channel-(met een compatibel profiel).


9, gezag 7%

De terminologie en versies worden nogal verwarrend (vooral voor beginners). Voor een meer holistische kijk op OpenGL en OpenGL-ES (GLES) Zie OpenGL -. Toen en Nu


10, Autoriteit 5%

De moderne antwoord, want ES 3.0 in vergelijking met OpenGL 4.6, is veel anders dan de geaccepteerde antwoord. Nu, alle van de vaste pijplijn spul is verdwenen.

ES, voor embedded systemen, is veel minder robuust.


11, Autoriteit 3%

OpenGL ES eenvoudig de OpenGL API voor ingebedde systemen (OpenGL ES verwijst naar OpenGL Embedded Systems). dus het is een subset van OpenGL en op grote schaal gebruikt in mobiele telefoons en een aantal VR-systemen, het is ontworpen voor minder geavanceerde hardware. OpenGL ES heeft minder termen en functies dan OpenGL, denk aan het als u neemt precies wat je nodig hebt voor dat systeem, want als we niet een functie in zijn geheel ons werk of de hardware kan niet omgaan met het nodig hebben, dan is er geen betekenen toe te voegen dat de functie, maar dit maakt ook het gebruik van deze API meer moeilijk vanwege de noodzaak om meer shaders en ingewikkelde codes te schrijven om iets simpels te maken, omdat OpenGL ES niet Shaders in de grafische pipeline als OpenGL te bieden. de laatste versie van OpenGL ES 3.2 kan nu ondersteuning bieden voor Tessellation voor bijkomende geometrie details en nieuwe geometrie shaders. dus ik raad je aan het leren of het gebruik van OpenGL ES 3.0 en hoger (in het geval dat het uw doel API) want nu en de volgende generatie zal geen gebruik maken van de oude versies vooral met meer krachtige hardware en grafische kaarten die we vandaag hebben te starten; en als uw doelgroep is OpenGL beginnen met v3.3 + of 4.0+. en als je meer tijd hebt geen probleem om een ​​snel overzicht op de oude versies voor meer inzicht in hoe de dingen waren en zich te ontwikkelen en waarom maken.
U kunt deze link voor meer informatie: https://en.wikipedia.org/wiki/OpenGL_ES


12, Autoriteit 2%

OpenGL is 2D en 3D graphics API waardoor duizenden applicaties om een ​​breed scala van computer platform.

OpenGL ES is goed gedefinieerd subsets van de desktop OpenGL.

OpenGL ES is een royalty-vrije, cross-platform API voor volwaardige 2D- en 3D-graphics op embedded systemen – met inbegrip van consoles, telefoons, apparaten en voertuigen. Het bestaat uit goed gedefinieerde subsets van desktop OpenGL, …

Zie deze koppeling .

P.S.

WebGL aandelen specificatie met OpenGL ES, dat wil zeggen, als je geleerd hebt desktop OpenGL, is het eenvoudig om de anderen (OpenGL ES, WebGL). Leren

Other episodes