Вы находитесь на странице: 1из 16

Primitivas.

OpenGL ES
Parte II

Jhonny Felípez Andrade

jrfelizamigo@yahoo.es
Contenido
 Primitivas del OpenGL ES
 Volumen de visualización.
 Código en OpenGL ES.

2
Primitivas

PRIMITIVAS DEL OPENGL ES

3
Primitivas del OpenGL

GL_POINTS
GL_LINES GL_LINE_STRIP

GL_LINE_LOOP

GL_TRIANGLES

GL_TRIANGLE_STRIP GL_TRIANGLE_FAN
Triangulo

5
Triangulos Conectados
GL_TRIANGULO_STRIP

v0 v2 v4

v1 v3

v5 6
Triangulos Conectados Abanico
GL_TRIANGULO_FAN

v1
v2

v0 v3

v4

7
Ecuación Paramétrica de una
Circunferencia

El ángulo se puede expresar en:


- radianes (0 <= θ <= 2π).
- grados sexagesimales (0º <= θ <= 360º).
8
Primitivas

VOLUMEN DE VISUALIZACIÓN

9
Volumen de Visualización
 OpenGL no trabaja con coordenadas de
pantalla, sino con coordenadas posicionales
dentro del volumen de visualización
y
(0,1,0)

(-1,0,0) (1,0,0)

x
(0,-1,0)

z
gluOrtho2D(gl,-1, 1, -1, 1) 10

glOrthof(-1, 1, -1, 1, -1, 1);


Primitivas

CÓDIGO EN OPENGL ES

11
Android

Activity

GLSurfaceView (Renderiza)

12
MainActivity {

onCreate(){

GLSurfaceView <- Renderiza


crea_el_contexto_del_OpenGL_ES_2.0
inicia_el_renderizado;
Activity <- GLSurfaceView
}
}

Renderiza {

onSurfaceCreated()

onDrawFrame()

onSurfaceChanged()
}
13
import android.opengl.GLSurfaceView;
import android.os.Bundle;
import android.app.Activity;
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

GLSurfaceView superficie = new GLSurfaceView(this);


superficie.setEGLContextClientVersion(2); OpenGL ES 2.0
Renderiza renderiza = new Renderiza();
superficie.setRenderer(renderiza); GLSurfaceView <- Renderiza

inicia_el_renderizado
setContentView(superficie);
} Activity <- GLSurfaceView
}

14
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
import android.opengl.GLSurfaceView.Renderer;

public class Renderiza implements Renderer {


@Override
public void onSurfaceCreated(GL10 gl, EGLConfig arg1) {
gl.glClearColor(0, 1, 1, 0);
} onSurfaceCreated()
@Override
public void onDrawFrame(GL10 gl) { onDrawFrame()
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
} onSurfaceChanged()
@Override
public void onSurfaceChanged(GL10 gl, int w, int h) {
gl.glViewport(0, 0, w, h);
}
}

15
FIN

16

Вам также может понравиться