You are on page 1of 6

GRÁFICOS POR COMPUTADORA

Tarea: 4
Primitivas OPENGL
Introducción

La manera en la que OpenGL dibuja las cosas es en base a primitivas que


pueden ser puntos, segmentos de línea y polígonos. No importa que sencillas o
complejas sean las cosas que queremos dibujar, primero las vamos a tener que
partir en primitivas que después podremos dibujar. Cada primitiva se define en
términos de los vértices que la componen (utilizando el comando glVertex ), el
color que vamos a utilizar en ese vértice (usando glColor ) y las características
específicas para el tipo de primitiva.

Cada vez que queramos hacer que se dibuje una primitiva debemos llamar el
comando glBegin(), indicando el tipo de primitiva que vamos a dibujar, dar las
coordenadas de los vértices y terminar con el comando glEnd. En la siguiente
tabla hay un resumen con los tipos de parámetros que podemos dar a glBegin():
Desarrollo

primitivas para elaboración de puntos


GL_POINTS genera puntos en cada coordenada (x,y)

primitivas para elaboración de líneas


GL_LINES genera líneas a partir de dos vértices
GL_LINE_STRIP genera un trazo entre cada vértice declarado
GL_LINE_LOOP genera trazos entre cada vértice y el ultimo vértice ingresado lo
une con el primero

TRIANGULOS
GL_TRIANGLES genera un triángulo a partir de 3 vértices declarados
GL_TRIANGLE_STRIP genera un triángulo usando los últimos dos vértices
agregados antes del ultimo
GL_TRIANGLE_FAN genera triángulos uniendo los últimos dos vértices
declarados con el primero que se declaro dando un efecto de abanico

CUADRADOS
GL_QUADS genera cuadrados poniendo 4 vértices en orden
GL_QUAD_STRIP dibuja un cuadrilátero usando los primeros 4 vértices, después,
para cada nuevo par de vértices se dibuja un cuadrilátero utilizando los últimos 4
vértices. El orden es de izquierda a derecha y de abajo a arriba

POLIGONOS
GL_POLYGON genera polígonos con todos los vértices que coloques
glBegin(GL_LINES);
glVertex2f(-5,5);
glVertex2f(5,-5);
glVertex2f(-5,-5);
glVertex2f(5,5);

glBegin(GL_LINE_STRIP;
glVertex2f(-5,5);
glVertex2f(5,-5);
glVertex2f(-5,-5);
glVertex2f(5,5);

glBegin(GL_LINE_LOOP;
glVertex2f(-5,5);
glVertex2f(5,-5);
glVertex2f(-5,-5);
glVertex2f(5,5);

glBegin(GL_TRIANGLES);
glVertex2f(-5,5);
glVertex2f(5,-5);
glVertex2f(-5,-5);
glColor3f(0,1,0);
glVertex2f(5,5);
glVertex2f(7,7);
glVertex2f(5,7);
glBegin(GL_TRIANGLE_STRIP);

glVertex2f(-5,5);

glVertex2f(-5,-5);

glVertex2f(5,5);

glColor3f(0,0,1);

glVertex2f(7,-3);

glColor3f(0,1,0);

glVertex2f(8,-0);

glBegin(GL_TRIANGLE_FAN);
glVertex2f(0,0);
glVertex2f(-5,0);
glVertex2f(-4,3);
glColor3f(0,1,0);
glVertex2f(-2,4);
glColor3f(0,0,1);
glVertex2f(0,5);
glColor3f(0,1,1);
glVertex2f(4,0);

glBegin(GL_QUADS);

glVertex2f(0,0);

glVertex2f(-5,0);

glVertex2f(-5,5);

glVertex2f(-0,5);
glBegin(GL_QUAD_STRIP);

glVertex2f(-5,0);

glVertex2f(-5,5);

glVertex2f(0,0);

glVertex2f(-0,5);

glColor3f(0,1,1);

glVertex2f(2,2);

glVertex2f(2,3);

glBegin(GL_POLYGON);//*
glVertex2f(0,0);
glVertex2f(-5,0);
glColor3f(1,1,15);
glVertex2f(-7,5);
glColor3f(0,0,0);
glVertex2f(-2.5,7);
glColor3f(0,1,0);
glVertex2f(1,5);
glColor3f(0,1,1);
glVertex2f(5,3);
glColor3f(125,1,24);
glVertex2f(-5,-8);

Conclusión
Con la elaboración de esta practica se pudo comprender el uso de las primitivas
de dibujo y de como facilitan de mayor manera la elaboración de gráficos en la
computadora a diferencia de la practica pasada en la que se debían elaborar con
funciones que nosotros creamos.

You might also like