M0286_Libro Curso

Android

renderer = new GLRenderer(context); setRenderer(renderer);

}

} Aquí aparece la clase GLSurfaceView . Es la que se ocupa de seleccionar el formato de pixel del framebuffer y gestionar un hilo de renderizado independiente que permitirá mostrar una animación suavizada.

GLSurfaceView La clase GLSurfaceView , que se introdujo en Android 1.5, que simplifica ba bastante el uso de OpenGL, es el pegamento para conectar OpenGL ES con el sistema de vista y el ciclo de vida de una actividad.

Necesitamos que GLView extienda a GLSurfaceView y definir un renderizador para la vista. Ahora vamos a rellenar la pantalla con un color sólido. Recordando conceptos anteriormente definidos, en 2D llamábamos al método onDraw() de la vista cuando necesitábamos redibujar una sección de la pantalla. OpenGL funciona de una manera un poco diferente. En OpenGL, el dibujado está separado en una clase de renderizado que va a ser el responsable de inicializar y dibujar la pantalla. Para ello debemos definir la clase GLRenderer : package com.seas.ejemplo.opengl; import android.opengl.GLU; import android.util.Log; class GLRenderer implements GLSurfaceView.Renderer { private static final String TAG = “GLRenderer”; private final Context context ; public void onSurfaceCreated(GL10 gl, EGLConfig config) { // ... } public void onSurfaceChanged(GL10 gl, int width, int height) { // ... } public void onDrawFrame(GL10 gl) { // ... import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; import android.content.Context; import android.opengl.GLSurfaceView;

} }

104

Made with FlippingBook - Online catalogs