2012-06-13 16 views
5

Desidero eseguire l'elaborazione delle immagini in background utilizzando OpenGL ES 2 e shader, ma senza disegnare su una superficie (ovvero il rendering fuori schermo solo sui framebuffer). Mentre l'ho già fatto su iOS, sono alle prese con questo su Android.Elaborazione delle immagini Android OpenGL - senza SurfaceView

Penso di essere vicino alla creazione di un contesto OpenGL funzionante, ma non ho capito come farlo senza SurfaceView.

risposta

3

Dai un'occhiata a this gamedev post (fai clic su espandi per visualizzare il codice completo). Il codice crea un contesto GL e utilizza l'interfaccia GLSurfaceView.Renderer per consentire in modo appropriato di scrivere un renderer. Alla chiamata getBitmap(), il renderer viene chiamato per disegnare un frame, che viene poi riletto e convertito in Bitmap.

Nota che c'è un featured question, che potrebbe interessarti anche tu.

+0

Questo aspetto di grande interesse, grazie! – CSmith

+0

In realtà quello che mi interessava è creare direttamente un contesto OpenGL ES 2.0 ed evitare GLSurfaceView e Renderer del tutto ... questo non mi ha permesso di arrivare lì, anche se mi ha permesso di creare un contesto, la classe statica GLES20 no saperlo. Suppongo che potrei usare NDK invece per eseguire il rendering fuori schermo ... – CSmith

+0

La classe interna non condivide nulla con GLSurfaceView eccetto l'interfaccia di Renderer. Sei libero di abbandonare completamente GLSurfaceView.Renderer e invece possiedi le tue cose. –

Problemi correlati