Está en la página 1de 10

MALLAS POLIGONALES

Prof. Alexander Cerón Ph.D.


Estructura general
● Lista de vertices
● Lista de aristas
● Lista de caras
MALLA POLIGONAL
MALLA POLIGONAL PARA CUBO
GLfloat v[8][3]; //LLENAR 8 vertices 3 datos (x,yz) 8x3

GLint caras[6][4] = {
{ 0, 1, 2, 3 },{ 3, 2, 6, 7 },{ 7, 6, 5, 4 },{ 4, 5, 1, 0 },{ 5, 6, 2, 1 },{ 7, 4, 0, 3 } };

GLint arista[12][2]; //LLENAR 12 aristas dos datos

void dibujar(void)
{
int i, j;
for (i = 0; i < 6; i++) {
glBegin(GL_QUADS);
glColor3f(1.0, 1.0, 1.0);
glVertex3fv(&v[caras[i][0]][0]); glVertex3fv(&v[caras[i][1]][0]); glVertex3fv(&v[caras[i][2]][0]); glVertex3fv(&v[caras[i][3]][0]);
glEnd();
}
Regla de la mano derecha
Ecuación del plano
Remoción de caras ocultas
● Se hará uso del algoritmo zbuffer para eliminar caras ocultas.
● Este se inicializa como un detalle adicional en el main()
● glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB| GLUT_DEPTH);
● Este se habilita en la funcion init() así
● glEnable(GL_DEPTH_TEST)
● Este se debe tener en cuenta para pintar o repintar en display.
● glClear(GL_COLOR_BUFFERBIT|GL_DEPTH_BUFFER_BIT);
● Adicionalmente se puede usar la siguiente función.
● glEnable(GL_CULL_FACE);
Ejercicios
● Realice el ejemplo anterior.
● Modifique el código para que cada cara tenga un
color.
● Realice una nueva versión utilizando listas. En este
caso debe existir lista de vértices, lista de aristas y
lista de caras.
● Implemente un tetraedro usando listas.
● Obtener la ecuación del plano para cada cara
(coeficienes A,B,C y D).
Bibliografia
● Interactive Computer Graphics, Edward Angel.
● Donald Hearn, Computer Graphics with
OpenGL

También podría gustarte