2010-11-07 15 views
8

Simplemente no pude encontrar nada con respecto al propósito de las clases android.opengl en cualquier parte de la web: parecen ser copias de javax.microedition.khronos.opengles - solo con métodos estáticos vs miembros.¿Cuál es la diferencia entre los paquetes android.opengl y javax.microedition.khronos.opengles?

Entonces, ¿hay algún significado especial al usarlos en lugar de las clases J2ME: se supone que son más rápidos, tienen funcionalidad adicional, son más simples de trabajar?

Pienso en usarlos en lugar de pasar esa referencia GL todo el tiempo.

+0

Sé que puede crear problemas al portar, pero eso no parece ser un gran problema para mí. – myself

Respuesta

3

Ok, por si acaso alguien está realmente interesado en la diferencia entre android.opengl y paquetes javax.microedition.khronos.opengles estándar OpenGL ES, lo siguiente se puede encontrar en el proyecto clásico ApiDemos de Android: Javadoc para com. La clase ejemplo.android.apis.graphics.StaticTriangleRenderer dice que el paquete android.opengl simplemente proporciona un poco más de funcionalidad que el paquete estándar de khronos, y, bastante útil, es más fácil para los desarrolladores de C que simplemente pueden escribir glBindBuffer (...) en lugar de ((GL20) gl) .glBindBuffer (...).

0

La mejor apuesta es que las de Android están optimizadas y adaptadas para Android. Es lo mismo con el analizador de SAX existe el paquete org.xml.sax y el paquete android.sax, pero creo que ambas versiones del analizador están optimizadas para Android.

+0

Lo que pasa es que la herramienta de vista en SDK muestra que la llamada estática "GLES10.glClear" es mucho más lenta que la virtual "gl.glClear". En otras palabras, las clases específicas de Android parecen ser más lentas que las genéricas j2me. – myself

0

Android incluye soporte para altas rendimiento de gráficos 3D a través de la API de OpenGL - específicamente, la API de OpenGL ES.

OpenGL ES es un sabor de la especificación OpenGL destinada a dispositivos incrustados. Las versiones de OpenGL ES son sin mucha consideración a las versiones del estándar OpenGL primario . Android actualmente es compatible con OpenGL ES 1.0, que corresponde a OpenGL 1.3. Entonces, si la aplicación que tiene en mente es posible con OpenGL 1.3 en un sistema de escritorio , debería ser posible en Android.

Cuestiones relacionadas