2010-11-01 9 views
7

Ich entwickle eine Android-Anwendung für Android 2.1.OpenGL auf Android mit C++ nur

Ich versuche OpenGL Sachen nur mit C++ zu programmieren.

Kennen Sie ein Tutorial oder einen Artikel, der ein Beispiel zeigt, wie das geht?

UPDATE:

Sorry, ich habe vergessen zu sagen, dass ich eine Java-Home-Anwendung verwenden Haupttätigkeit zu starten.

Ich versuche zu sagen, wenn ich auf Java glSurfaceView oder diese Anweisung muss auf C++ Code Code sein.

Ok, besser erklärt: Wenn ich ein komplettes openGl auf C++ habe, muss ich vielleicht C++ Code ändern?

Danke.

+0

Beachten Sie, dass Sie derzeit keine C++ - Anwendung erstellen können, die von einer normalen Home-Anwendung gestartet werden kann. Sie müssen Java-Initialisierungscode haben, unabhängig davon, ob Sie herausfinden, wie Sie die gesamte Funktionalität nativ implementieren können. Dies ist und die fehlenden nativen APIs sind IMHO eine der größten Lücken der Plattform - es ist wirklich eine Schande, dass Sie die zugrundeliegende Embedded-Linux-Plattform nicht mit normalen Mitteln voll ausnutzen können. –

+1

@Chris Stratton: Danke. Ich habe meine Frage mit weiteren Details aktualisiert. – VansFannel

Antwort

8

In der Android NDK gibt es eine San-Angeles-Demo unter dem Beispielverzeichnis, die mit OpenGL ES 1.x in C-Code und einem Java-Wrapper zeigt. Was Änderungen an bereits existierendem C++ - Code betrifft, sei darauf hingewiesen, dass es für den NDK r4 keine offizielle STL-Implementierung gibt (obwohl ich glaube, dass einige Ports verfügbar sind) [edit: ab NDK r5 gibt es eine STLport-basierte Implementierung von STL]. Und ich vermute, dass Sie nachahmen müssen, was das Demo für die GLSurfaceView macht, da externe Ereignisse (Berührung, Tastatur usw.) zusammen mit dem Lebenszyklus der Android-Aktivität von der Java-Seite gehandhabt werden müssen. Wenn Sie nach einem OpenGL ES 2.0-Beispiel suchen, gibt es auch im Beispielverzeichnis des Android NDK einen Basiscode.

+0

Danke. Das ist, was ich suche. – VansFannel

+0

Ich folge auch diesem Tutorial http://blog.jayway.com/2009/12/03/opengl-es-tutorial-for-android-part-i/ – VansFannel

2

Nach http://developer.android.com/sdk/ndk können Sie es nicht rein in C++ tun. Wie Sie in Ihrem Update vorschlagen, müssen Sie die Anwendung mit dem Standard-Java-SDK ausführen, aber C++ - Bibliotheken erstellen und sie aufrufen. In Bezug auf OpenGL schlägt der Artikel vor, dass Sie vollen Zugriff auf OpenGL ES haben, entweder 1.1 oder 2.0. ES ist nicht dasselbe wie das vollständige OpenGL.