10 Stimmen

OpenGL auf Android nur mit C++

Ich entwickle eine Android-Anwendung für Android 2.1.

Ich versuche, die OpenGL-Sachen nur mit C++ zu programmieren.

Kennen Sie eine Anleitung oder einen Artikel mit einem Beispiel, wie man das macht?

UPDATE :

Entschuldigung, ich habe vergessen zu sagen, dass ich eine Java-Home-Anwendung verwenden werde, um die Hauptaktivität zu starten.

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

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

Gracias.

0 Stimmen

Beachten Sie, dass Sie derzeit keine reine C++-Anwendung erstellen können, die von einer normalen Heimanwendung aus gestartet werden kann. Sie müssen Java-Initialisierungscode haben, auch wenn Sie herausfinden, wie Sie die gesamte Funktionalität nativ implementieren können. Dies und die fehlenden nativen APIs sind IMHO eines der größten Mankos der Plattform - es ist wirklich eine Schande, dass man die zugrunde liegende Embedded-Linux-Plattform nicht auf normalem Wege voll ausnutzen kann.

1 Stimmen

@Chris Stratton: Danke. Ich habe meine Frage mit mehr Details aktualisiert.

10voto

Morrison Chang Punkte 10936

Im Android NDK gibt es eine san-angeles-Demo im Verzeichnis samples, die die Verwendung von OpenGL ES 1.x in C-Code und einem Java-Wrapper zeigt. Was Änderungen an bereits vorhandenem C++-Code betrifft, so ist zu beachten, dass es keine offizielle STL-Implementierung für das NDK r4 gibt (obwohl ich glaube, dass einige Ports verfügbar sind) [Bearbeiten: ab NDK r5 gibt es eine STLport-basierte Implementierung von STL]. Und ich vermute, dass Sie nachahmen müssen, was die Demo für die GLSurfaceView tut, da externe Ereignisse (Touch, Tastatur, etc.) zusammen mit dem Android-Aktivitätslebenszyklus von der Java-Seite behandelt werden müssen. Wenn Sie nach einem OpenGL ES 2.0 Beispiel suchen, gibt es auch ein einfaches Beispiel im Verzeichnis samples des Android NDK.

0 Stimmen

Ich folge auch dieser Anleitung blog.jayway.com/2009/12/03/

2voto

AustinDahl Punkte 782

Nach Angaben von http://developer.Android.com/sdk/ndk Sie können es nicht nur in C++ machen. Wie Sie in Ihrem Update vorschlagen, müssen Sie die Anwendung mit dem Standard-SDK (Java) erstellen, können aber C++-Bibliotheken erstellen und diese 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.

0voto

Expert Ngobeni Punkte 71

Versuchen Sie das Arm Developer Center link . Es hat native Tutorials zu den Grundlagen einer OpenGL ES-Anwendung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X