Naiv sollte nativ heißen: Du programmiert für jede Android-Version mit einem eigenen SDK, dieses unterstützt erst seit Version 2.2 OpenGL ES 2.0, vorher nur 1.x
Trotzdem kannst du für ältere Versionen von Android auch ES 2.0 Code schreiben, allerdings musst du dies in C statt Java tun (in Verbindung mit der Android NDK) und dann für die jeweilige Gerätearchitektur kompilieren (Java hingegen ist Geräteunabhängig, da es auf Android die Dalvik JVM nutzt).
Google zur nativen Methode mal: Android +NDK +OpenGL
OpenGL für Desktop ist dem mobilen ES Pendant sehr ähnlich, ES hat lediglich alles überflüssige weggelassen
Wesentlicher Unterschied:
1.0 = feste Hardware, d.h. Vertextransformationen und Pixelberechnungen (Beleuchtung,Schattierung,Texturoperationen) sind fest integriert, können nicht verändert werden - du musst Sie aber auch nicht selbst implementieren
2.0 = Programmierer Hardware, genau das Gegenteil, unendliche Manipulationsmöglichkeiten, aber um ein simple texturiertes Dreieck zu rendern, musst du der Hardware genau sagen wie (GLSL googlen) und im Unterschied zur Desktopvariante hast du hier keinen Zugriff auf die fixed-function Pipeline aus 1.0
Fazit:
OpenGL ES 1.0
+ einfach
+ viele Tutorials
+ auf jedem AndroidDev unterstützt
+ schnelle Erfolge
2.0
+ setzt viel Verständnis von OpenGL voraus (Matritzenoperationen von Hand,Vertexmanipulation von Hand, Fragment- und Texturoperationen auch von Hand, Lichtberechnungen von Hand)
+ sich ergebende Möglichkeiten kennst du vom PC oder der PS3 - Shader-Effekte wie BumpMapping, Motionblur, Bloom, PerPixelLighting, WasserEffekte...
+ aber 2. Sprache nötig GLSL (auch an C angelehnt)
+ nichts für Einsteiger
— geändert am 19.02.2011, 00:57:55
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.