2010-11-07 5 views
8

Proprio non è stato possibile trovare nulla che riguardi lo scopo delle classi android.opengl in qualsiasi parte del web: sembrano essere copie di javax.microedition.khronos.opengles - solo con metodi statici o membri.Qual è la differenza tra i pacchetti android.opengl e javax.microedition.khronos.opengles?

Quindi c'è un significato speciale nell'usarli invece delle classi J2ME: dovrebbero essere più veloci, avere funzionalità aggiuntive, più semplici da utilizzare?

Penso di usarli invece di passare il riferimento GL tutto il tempo.

+0

So che potrebbe creare problemi durante il porting ma non sembra essere un grosso problema per me. – myself

risposta

3

Ok, nel caso in cui qualcuno è veramente interessato alla differenza tra android.opengl e OpenGL ES pacchetti javax.microedition.khronos.opengles standard, quanto segue può essere trovato in progetto ApiDemos classico di Android: javadoc per com. La classe example.android.apis.graphics.StaticTriangleRenderer dice che il pacchetto android.opengl fornisce semplicemente un po 'più di funzionalità del pacchetto standard di khronos, e, molto utile, è più facile per gli sviluppatori C che possono semplicemente scrivere glBindBuffer (...) invece di ((GL20) gl) .glBindBuffer (...).

0

La scommessa migliore è che quelli Android siano ottimizzati e adattati per Android. È lo stesso con il parser SAX c'è il pacchetto org.xml.sax e il pacchetto android.sax ma penso che entrambe le versioni del parser siano ottimizzate per Android.

+0

La cosa è lo strumento traceview in SDK indica che la chiamata statica "GLES10.glClear" è molto più lenta di "gl.glClear" virtuale. In altre parole, le classi specifiche di Android sembrano essere più lente di quelle generiche j2me. – myself

0

Android include il supporto per le alte prestazioni grafiche 3D attraverso OpenGL API - in particolare, l'API OpenGL ES.

OpenGL ES è un assaggio delle specifiche OpenGL destinate ai dispositivi integrati . Le versioni di OpenGL ES sono liberamente analizzate alle versioni dello standard primario OpenGL . Android attualmente supporta OpenGL ES 1.0, che corrisponde a OpenGL 1.3. Quindi, se l'applicazione che hai in mente è possibile con OpenGL 1.3 su un sistema desktop , dovrebbe essere possibile su Android .