2011-12-20 15 views
32

Sto cercando di imparare OpenGL ES 2.0 su Android e le esercitazioni che ho trovato sono quasi tutte per l'utilizzo dello SDK with Java. Voglio usare il codice nativo, quindi voglio farlo attraverso l'NDK. L'unico tutorial/esempio che ho trovato è il materiale di esempio nello stesso NDK.Android - tutorial per OpenGL ES 2.0 utilizzando NDK?

Dove è possibile trovare alcuni tutorial NDK OpenGL ES 2.0? Se non ci sono tutorial validi, è possibile utilizzare le esercitazioni Java OpenGL per imparare come usarlo anche nell'NDK? Ad esempio i metodi mappano 1: 1 da java a nativo?

+5

Buona domanda. Peccato che non ci fosse risposta. –

+1

Sono nella stessa situazione al momento. Hai trovato qualche? – ains

risposta

18

Ho creato un esempio su come combinare l'interfaccia utente fatta in Java con codice NDK nativo che esegue tutto il rendering di OpenGL. È possibile fare a meno di ricorrere alle chiamate GLSurfaceView e JNI per rendere ogni fotogramma come fatto nell'esempio NDK.

vedere il codice a https://github.com/tsaarni/android-native-egl-example

+0

Lavoro greate, ho provato il campione, davvero utile, grazie, ma, c'è un problema sugli stessi dispositivi, quando ho impostato lo screenOrientation in orizzontale, sembra che il rendering non venga visualizzato ..., – chengpei

+0

Grazie! Potresti pubblicare un ticket di emissione nella pagina del progetto e allegare logcile logcat? Purtroppo non avevo molti dispositivi da testare su ... – tsaarni

+1

@tsaarni, Sei sicuro che il tuo progetto usi 'OpenGL ES 2.0'? – CAMOBAP

4

Controllare this link. Riguarda i problemi NDK e OpenGL, così come molti altri relativi alla programmazione dei motori di gioco e altro ancora. Lo trovo molto interessante e utile.

+2

Link is dead ... –

0

Google ha un progetto di esempio su GitHub che dimostra come impostare un contesto EGL da codice nativo, utilizzando SurfaceView creato in Java: Teapots sample. In particolare, date un'occhiata all'app e al codice "more teapots" in ndk_helper per la creazione del contesto.

Se si desidera lavorare senza alcun codice Java, allora questo esempio dovrebbe aiutare a iniziare: native activity

Edit: Inoltre, questo link fornisce una panoramica più alto livello di rapporto tra Java Surface, la sua controparte nativa e EGL : EGLSurfaces and OpenGL ES