2010-11-01 14 views
7

Estoy desarrollando una aplicación de Android para Android 2.1.OpenGL en Android utilizando solo C++

Estoy tratando de codificar las cosas de OpenGL solo con C++.

¿Conoces un tutorial o un artículo que muestre un ejemplo sobre cómo hacerlo?

ACTUALIZACIÓN:

Lo sentimos, he olvides decir que voy a utilizar una aplicación de inicio de Java para poner en marcha la actividad principal.

Estoy tratando de decir si tengo que codificar en Java glSurfaceView o esta declaración debe estar en código C++.

Ok, mejor explicado: Si tengo un OpenGl completo en C++, ¿tendré que modificar el código C++?

Gracias.

+0

Tenga en cuenta que actualmente no se puede crear una aplicación C++ que se pueda iniciar desde una aplicación doméstica normal. Debe tener el código de inicialización de java, independientemente de si encuentra la forma de implementar toda la funcionalidad de forma nativa. Esto es así y las API nativas que faltan son en mi humilde opinión una de las fallas más grandes de la plataforma; es realmente una pena que no se pueda aprovechar completamente la plataforma subyacente de linux por medios normales. –

+1

@Chris Stratton: gracias. He actualizado mi pregunta con más detalles. – VansFannel

Respuesta

8

En Android NDK hay una demo de san-angeles en el directorio de ejemplos que muestra usando OpenGL ES 1.x en código C y un contenedor Java. En cuanto a los cambios al código C++ ya existente, tenga en cuenta que no existe una implementación STL oficial para el NDK r4 (aunque creo que hay algunos puertos disponibles) [editar: a partir de NDK r5 hay una implementación basada en STLport de STL]. Y supongo que tendrá que imitar lo que hace la demostración para GLSurfaceView ya que los eventos externos (toque, teclado, etc.) junto con el ciclo de vida de la actividad de Android deben ser manejados por el lado de Java. Si está buscando un ejemplo de OpenGL ES 2.0, también hay uno básico en el directorio de ejemplos del NDK de Android.

+0

Gracias. Esto es lo que estoy buscando. – VansFannel

+0

También estoy siguiendo este tutorial http://blog.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/ – VansFannel

2

De acuerdo con http://developer.android.com/sdk/ndk no puede hacerlo puramente en C++. Como sugiere en su actualización, necesitará hacer la aplicación con el SDK estándar (Java), pero puede crear bibliotecas C++ y llamarlas. Con respecto a OpenGL, el artículo sugiere que tiene acceso completo a OpenGL ES, ya sea 1.1 o 2.0. ES no es lo mismo que OpenGL completo.