2010-11-07 22 views
8

Juste ne pouvait pas trouver n'importe quoi en ce qui concerne le but de android.opengl classes partout sur le web: ils semblent être des copies de javax.microedition.khronos.opengles - juste avec des méthodes statiques vs membres.Quelle est la différence entre les paquets android.opengl et javax.microedition.khronos.opengles?

Y a-t-il une signification particulière à les utiliser à la place des classes J2ME: sont-elles supposées être plus rapides, avoir des fonctionnalités supplémentaires, plus simples à utiliser?

Je pense à les utiliser au lieu de passer cette référence GL tout le temps.

+0

Je sais que cela peut créer des problèmes lors du portage, mais cela ne semble pas être un gros problème pour moi. – myself

Répondre

3

quelqu'un Ok, juste au cas où est vraiment intéressé par la différence entre les android.opengl et les paquets standard de javax.microedition.khronos.opengles OpenGL ES, les éléments suivants se trouvent dans le projet de ApiDemos classique Android: javadoc pour com. La classe example.android.apis.graphics.StaticTriangleRenderer indique que le paquet android.opengl fournit simplement un peu plus de fonctionnalités que le paquet khronos standard, et, très pratique, c'est plus facile pour les développeurs C qui peuvent simplement écrire glBindBuffer (...) au lieu de ((GL20) gl) .glBindBuffer (...).

0

Le meilleur pari est que les Android sont optimisés et adaptés pour Android. C'est pareil avec l'analyseur syntaxique SAX, il y a le paquet org.xml.sax et le paquet android.sax mais je pense que les deux versions de l'analyseur sont optimisées pour Android.

+0

L'outil traceview dans le SDK montre que l'appel statique "GLES10.glClear" est beaucoup plus lent que le "gl.glClear" virtuel. En d'autres termes, les classes spécifiques à Android semblent être plus lentes que les classes génériques de j2me. – myself

0

Android inclut le support pour les hautes performances graphiques 3D via l'API OpenGL - Plus précisément, l'API OpenGL ES. OpenGL ES est une version de la spécification OpenGL destinée aux périphériques intégrés. Les versions d'OpenGL ES sont comparées librement aux versions de la norme OpenGL primaire . Android prend actuellement en charge OpenGL ES 1.0, qui correspond à OpenGL 1.3. Donc, si l'application que vous avez à l'esprit est possible avec OpenGL 1.3 sur un système de bureau , il devrait être possible sur Android.