Está en la página 1de 18

ESCUELA POLITCNICA DEL EJRCITO

OPENGL
INTEGRANTES: PAUL VALLADARES ANDREA CAIZARES IVETTE RAMOS

Qu es OpenGL?
OpenGL es una interfaz de software para el hardware de grficos. Contiene cerca de 150 comandos que nos ayudan a definir objetos, aplicar transformaciones a esos objetos, cambiar sus propiedades (color, textura, luz...), posicin de la cmara... entre otros.

Hay que tener claro que OpenGL es una librera grfica, no posee funciones para el control de Audio, Red o Control de Entrada.

Es una API para interactuar con dispositivos grficos y aceleradoras 3D.

Qu ofrece esta librera a los programadores?


Primitivas geomtricas y raster: Nos permite utilizar todas las primitivas geomtricas bsicas: puntos, lineas, polgonos. Y del raster: un bitmap, imagen. -splines: Las B-splines son usadas para dibujar lineas curvas. Transformaciones de vista y modelo: Gracias a estas transformaciones podemos facilmente transladar, rotar y escalar los objetos dentro de la escena y a su vez mover la cmara. Trabajar con el color: OpenGL nos permite operar con colores en modo RGBA (red-green-blue-alpha) o usando Modo Indexado, donde los colores se seleccionan desde una paleta.

Eliminacin de lneas y superficies ocultas: Por medio del algoritmo Z-Buffer . Luces: Nos permite establecer la fuente de la luz, su posicin, su intensidad, color... Mapeado de textura: Algo vital en cualquier API grfica 3D

Antialiasing: Nos permite suavizar los bordes de polgonos y lineas. Este suavizado se realiza cambiando la intensidad de los pixels adyacentes a la linea que procesamos consiguiendo un efecto de "difuminacin" con la consiguiente eliminacin de esos zig-zag tan desagradables . Efectos atmosfricos: Por ejemplo niebla o humo. Transparencia. Display List.

MESA
" Mesa es una librera grfica 3D que utiliza la API de OpenGL. " La mayora de las aplicaciones escritas en OpenGl pueden ser recompiladas con Mesa sin hacer ningn cambio en el cdigo " El cdigo completo de Mesa est bajo licencia GPL y se puede ejecutar en los siguientes sistemas: UNIX/X11, Linux, Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS y Windows 95/98/NT Mesa tambin soporta aceleracin por hardware 3Dfx Voodoo. Para ms cuestiones mirar el Mesa FAQ

Librera adicionales de OpenGL


La librera principal de OpenGL nos suministra todas las funciones necesarias para mostrar un entorno 3D aunque hay algunas operaciones que son algo tediosas de realizar utilizando solo esta librera. Estas son por ejemplo calcular la matriz de proyeccin. Para esto se han desarrollado tambin unas librera auxiliares:

GLU: Esta librera acompaa a la OpenGL principal. Incluye funciones ms complejas que GL por ejemplo definir un cilindro o un disco con un solo comando, tambin contiene funciones para trabajar con splines y operaciones con matrices. GLUT: Esta librera es independiente de la librera OpenGL de cada plataforma. Esta librera no incluye funciones adicionales para OpenGL ,pero permite utilizar funciones para el tratamiento de ventanas, teclado y ratn.

GLAUX: Mantiene prcticamente la misma estructura que la GLUT con el defecto de que solo sirve para Windows, mientras que GLUT sirve para cualquier plataforma. GLX: Esta es la librera utilizada para trabajar en un sistema de X-Windows (Linux), permite no slo renderizar en la mquina local, sino tambin a travs de una red. Tambin hay otras libreras ms especficas para el control de entrada, sonido, red....

El dibujado en OpenGL
Para dibujar en OpenGL, tenemos que habilitar el modo de dibujado, establecer las opciones de dibujado de cada vrtice, y dibujar cada uno de ellos. Al terminar de dibujar una figura, finalizamos el modo de dibujado. Para comenzar a dibujar, utilizaremos el comando glBegin(<MODO_DE_DIBUJADO>), dnde el modo de dibujado vendr dado por una constante.

El color en OpenGL
OpenGL puede utilizar dos modos de color: color RGBA y color indexado. El color RGBA recibe este nombre porque se compone de cuatro componentes: Rojo (Red), Verde (Green), Azul (Blue) y canal Alfa, o transparencia.

Orientacin de las caras en OpenGL


Un polgono tiene dos caras, delantera y trasera. La manera de saber qu cara es la delantera, y cual la trasera, es que, si miramos la delantera, los vrtices se habrn dibujado en orden antihorario.

Las transformaciones en OpenGL


Finalmente, como operaciones bsicas, vamos a comentar aquellas que nos van a permitir situar los objetos en el espacio, es decir, aplicarles transformaciones: glTranslate*: Permite trasladar un objeto en el espacio. glRotate*: Permite rotar un objeto. glScale*: Permite escalar un objeto. glMultMatrix: multiplica la matriz de transformacin actual por una matriz dada.

La proyeccin en OpenGL
En el modo de proyeccin podemos especificar cmo va a afectar la posicin de un objeto a su visualizacin. Tenemos dos maneras de visualizar el espacio: Proyeccin ortogrfica Proyeccin perspectiva.

La proyeccin ortogrfica:
La proyeccin ortogrfica nos permite visualizar todo aquello que se encuentre dentro de un cubo, delimitado por los parmetros de la funcin glOrto. A la hora de visualizar, la distancia al observador slo se tiene en cuenta para determinar si el objeto est dentro o fuera del cubo...

La proyeccin perspectiva:
La proyeccin perspectiva delimita un volumen de visualizacin dado por un ngulo de cmara, y una relacin alto/ancho. La distancia al observador determinar el tamao con el que un objeto se visualiza.

También podría gustarte