1. HISTORIA
OpenGL es un estándar de la industria, aplicación
multiplataforma Programming Interface (API)
El pliego de condiciones de esta API se finalizó en 1992, y las
puestas en práctica por primera vez en 1993.
Fue en gran parte compatible con una API propietaria llamada
Iris GL (Gráficos), que fue diseñado y apoyado por Silicon
Graphics, Inc. Con el fin de establecer un standad industria,
Silicon Graphics ha colaborado con varias empresas de hardware
de gráficos para crear un estándar abierto, lo que era apodado
"OpenGL"
QUE ES OPENGL
Es un software que facilita la interacción con el hardware
grafico de nuestra máquina. Consta de distintas funciones, que
permiten producción aplicaciones interactivas en los que
intervengan graficas en tres dimensiones.
Está diseñado de forma independiente del hardware por lo que
puede implementarse en plataformas muy diversas (PC, SGL,
Digital. Sun, etc. Y con diversos sistemas operativos (Linux,
Windows, Unix, etc).
OpenGl no incluye comandos para gestionar el sistema de
ventanas, ni para capturar ordenes de los usuarios, ya sea por
ratón o por teclado.
Las operaciones que podemos realizar con OpenGl, y en general
siguiendo este orden son los siguientes.
1. Modelar figuras a partir de las primitivas básicas,
creando descripciones geométricas de los objetos (puntos,
líneas, polígonos, fotografías, mapas de bits etc.)
2. Situar los objetos en el espacio tridimensional de la
escena y seleccionar el punto de vista desde el cual
queremos observarla.
3. Calcular el color de todos los objetos. El color puede
asumirse explícitamente a cada pixel, o bien puede
calcularse a partir de las condiciones de iluminación o
también puede asignarse por medio de una textura colocada
sobre los objetos.
ALEXANDRA CASTRO PISCO
2. 4. Convertir la descripción matemática de los objetos y la
información de color asociado, en pixeles de color
asociado en pixeles de la pantalla, en forma de imagen
Virtual 3D.
FUNCIONAMIENTO:
Mantiene en todo momento un conjunto de variables que presentan
el estado actual. El valor de las variables puede cambiarse
mediante instrucciones por defecto, las variable contiene ya un
valor.
Consiste en aceptar primitivas tales como puntos líneas y
polígono, y convertirlos en pixeles. Este proceso es realizado
por una pipeline grafica conocida como máquina de estados de
OpenGl.
La mayor parte de los comandos de OpenGl bien emite primitivas
a la pipeline grafica o bien configurar como la pipeline
procesa dichos primitivos.
OPENGL TIENE DOS PROPÓSITOS ESENCIALES:
1. Ocultar la complejidad de la interfaz con los diferentes
tarjetas gráficas, presentado al programa una API única y
uniforme.
2. Ocultarlas diferentes capacidades de las diversas
plataformas hardware, requiriendo que todas las
implementación soporten la funcionalidad completa de
OpenGl(Utilizando emulación software fuese necesario)
ESTRUCTURA DE UN PROGRAMA:
De todas formas la estructura básica de un programa es muy
sencilla, y siempre consta de las siguientes partes:
Inicializar ciertos estados que controlan como se
desarrolla el proceso de rendering.
Especificar que objetos deben visualizarse, describiendo
su geometría y sus propiedades externas.
El termino rendering hace referencia la proceso por el cual un
ordenador genera una imagen sintética, con sus luces y objetos,
a partir de un modelo. Un modelo de un objeto, es una
descripción matemática de ese objeto basado en primitivas
geométricas, que en nuestro caso serán puntos, líneas y
polígonos.
ALEXANDRA CASTRO PISCO
3. Sintaxis:
Tal y como se puede observar, los tipos de datos comienzan con
“Gl” para indicar que se trata de tipos de datos de OpenGl. En
la mayoría de los casos, su identificador contiene el tipo de
datos en lenguaje C. Aunque existen identificadores mas
descriptivos, como por ejemplo “size”. El tipo “clamp”se
utiliza para los colores (el termino proviene de color
amplitude) y se puede encontrar con los sufijos f y d para
indicar que se trata de un real de 32 o 64 bits
respectivamente.
DEFINICION EN DEFINICION DEL TIPO
SUFIJOS TIPO DE DATOS
LENGUAJE C EN OPENGL
b Entero8 Bits signed char GLbyte
s Entero16 Bits short GLshort
Entero 32
i Bits
long GLint, Glsizei
f Real 32 Bits float GLfloat, GLclampd
D Real 64 Bits double
Entero
ub positivo 8 unsingned char Glubyte,Glboolean
Bits
Entero
unsingned
us positivo 16
short
GLushort
Bits
Entero
Gluint,
Ui positivo 32 unsingned long
GLenum,Glbitfield
Bits
Tipos de datos definidos en OpenGl
De esta forma dos llamadas tales como:
glVertex2i(1,3);
glVertex2f(1.0.3.3);
BIBLIOGRAFÍA
http://books.google.com.ec/books?id=iuXgSeDM3RIC&pg=PA4&lpg=PA4
&dq=libros+gratis+opengl&source=bl&ots=QBJFtO3kY3&sig=KzeYfMGL0
Jpq_VDBU_qVH_4CqYI&hl=es&sa=X&ei=X7EdUL_8KKSQ0QGuhoGADQ&ved=0CE
oQ6AEwAw#v=onepage&q=libros%20gratis%20opengl&f=false
http://es.wikipedia.org/wiki/OpenGL
http://books.google.com.ec/books?id=kDXOXv_GeswC&printsec=frontcover&dq=OPENGL&source=bl
&ots=2IUDFrozHk&sig=ycimyYQpzPskkQkDZ0aRDsFkgVU&hl=es&sa=X&ei=DPIaUNToNoLZ6wHFy4CQD
Q&ved=0CEMQ6wEwAg#v=onepage&q=OPENGL&f=false
ALEXANDRA CASTRO PISCO