15
Página | 1 CARRERA: ING. EN SISTEMAS COMPUTACIONALES MATERIA: PRINCIPIOS ELECTRONICOS Y APLICACIONES DIGITALES TEMA: INVESTIGACION - Que es el OPEN GL - Características de OPEN GL - Librerías de OPEN GL NOMBRE: MARIO ALEJANDRO LUGO FUENTES 1

graficacion

Embed Size (px)

DESCRIPTION

- Que es el OPEN GL- Características de OPEN GL- Librerías de OPEN GL

Citation preview

Page 1: graficacion

P á g i n a | 1

CARRERA:

ING. EN SISTEMAS COMPUTACIONALES

MATERIA:

PRINCIPIOS ELECTRONICOS Y APLICACIONES DIGITALES

TEMA:

INVESTIGACION

- Que es el OPEN GL- Características de OPEN GL

- Librerías de OPEN GL

NOMBRE:

MARIO ALEJANDRO LUGO FUENTES

NOMBRE DEL PROFESOR

1

Page 2: graficacion

P á g i n a | 2

Lydia Raquel Esquivel Chávez

MEXICALI BC. A 3 DE AGOSTO DEL 2014

INDICE1.Que es el OPEN

GL..........................................................................................3

2.Características de OPEN GL..........................................................................4

3.Librerías de OPEN GL......................................................................................6

4.APLICACIONES DE OPENGL........................................................................8

5.CONCLUSIONES ..............................................................................................9

6.BIBLIOGRAFIAS.................................................................................................10

2

Page 3: graficacion

P á g i n a | 3

OPEN GL

OpenGL es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. Fue desarrollada por Silicon Graphics Inc. (SGI) en 1992. Su nombre viene del inglés Open Graphics Library, cuya

traducción es biblioteca de gráficos abierta (o mejor, libre, teniendo en cuenta su política de licencias).

Es una interfaz software de hardware gráfico, es decir define las funciones que se pueden utilizar en una aplicación para acceder a las prestaciones de un dispositivo gráfico. Es un motor 3D cuyas rutinas están integradas en tarjetas gráficas 3D. Es compatible con prácticamente cualquier plataforma hardware asi como con muchos lenguajes de programación (C,C++, Visual Basic, Visual Fortran, Java).

Interface software entre el programador y el hardware gráfico Basada en la librería gráfica Iris GL de Silicon Graphics Permite crear aplicaciones 3D interactivas

3

Page 4: graficacion

P á g i n a | 4

Independiente del hardware No incluye manejo de ventanas, ni interacción con el usuario No permite describir objetos 3D directamente

Las operaciones que podemos realizar con OpenGL, y en general siguiendo este orden son las 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 y mapas de bits).

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 asignarse 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.

4. Convertir la descripción matemática de los objetos y la información de color asociada, en pixeles de la pantalla, en forma de imagen virtual 3D.

A la vez que se realiza este proceso, OpenGL desarrolla otras operaciones complejas como la eliminación de partes de objetos que quedan ocultas para el usuario por estar tapadas por otros objetos de la escena.

CARACTERISTICAS OPENGL

Para conseguir la independencia del hardware de OpenGL, no se incluyeron comandos para tareas de ventanas, ni para obtener entrada del usuario . En OpenGL sólo se encontrarán primitivas de objetos geométricos: puntos, líneas y polígonos .

4

Page 5: graficacion

P á g i n a | 5

Hay bibliotecas relacionadas que proveen de modelos más complejos, y cualquier usuario se puede construir las suyas basándose en primitivas sencillas.

Algunas de las características que OpenGL implementa:

    •  Primitivas geométricas Permiten construir descripciones matemáticas de objetos. Las actuales primitivas son: puntos, líneas, polígonos, imágenes y bitmaps.

    •  Codificación del Color en modos RGBA (Rojo-Verde-Azul-Alfa) o de color indexado.

    •  Visualización y Modelado que permite disponer objetos en una escena tridimensional, mover nuestra cámara por el espacio y seleccionar la posición ventajosa deseada para visualizar la escena de composición.

    •  Mapeado de texturas que ayuda a traer realismo a nuestros modelos por medio del dibujo de superficies realistas en las caras de nuestros modelos poligonales

    •  La iluminación de materiales es una parte indispensable de cualquier gráfico 3D. OpenGL provee de comandos para calcular el color de cualquier punto dadas las propiedades del material y las fuentes de luz en la habitación.

    •  El doble buffering ayuda a eliminar el parpadeo de las animaciones. Cada fotograma consecutivo en una animación se construye en un buffer separado de memoria y mostrado sólo cuando está completo.

    •  El Anti-alizado reduce los bordes escalonados en las líneas dibujadas sobre una pantalla de ordenador. Los bordes escalonados aparecen a menudo cuando las líneas se dibujan con baja resolución. El anti-alizado es una técnica común en gráficos de ordenador que modifica el color y la intensidad de los pixels cercanos a la línea para reducir el zig-zag artificial.

    •  El sombreado Gouraud es una técnica usada para aplicar sombreados suaves a un objeto 3D y producir una sutil diferencia de color por sus superficies.

5

Page 6: graficacion

P á g i n a | 6

    •  El Z-buffering mantiene registros de la coordenada Z de un objeto 3D. El Z-buffer se usa para registrar la proximidad de un objeto al observador, y es también crucial para el eliminado de superficies ocultas.

    •  Efectos atmosféricos como la niebla, el humo y las neblinas hacen que las imágenes producidas por ordenador sean más realistas. Sin efectos atmosféricos las imágenes aparecen a veces irrealmente nítidas y bien definidas. Niebla es un término que en realidad describe un algoritmo que simula neblinas, brumas, humo o polución o simplemente el efecto del aire, añadiendo profundidad a nuestras imágenes.

    •  El Alpha blending usa el valor Alfa (valor de material difuso) del código RGBA, y permite combinar el color del fragmento que se procesa con el del píxel que ya está en el buffer. Imagina por ejemplo dibujar una ventana transparente de color azul claro enfrente de una caja roja. El Alpha blending permite simular la transparencia de la ventana, de manera que la caja vista a través del cristal aparezca con un tono magenta.

    •  Los planos de plantilla permiten restringir el trazado a ciertas regiones de la pantalla.

    •  Las listas de Display permiten almacenar comandos de dibujo en una lista para un trazado posterior, cuando las listas de display se usan apropiadamente puedan mejorar mucho el rendimiento de nuestras aplicaciones.

    •  Los Evaluadores Polinómicos sirven para soportar B-splines racionales no uniformes, esto es para ayudar a dibujar curvas suaves a través de unos cuantos puntos de referencia, ahorrándose la necesidad de acumular grandes cantidades de puntos intermedios.

        •  Características de Feedback, Selección y Elección que ayudan a crear aplicaciones que permiten al usuario seleccionar una región de la pantalla o elegir un objeto dibujado en la misma. El modo de feedback permite al desarrollador obtener los resultados de los cálculos de trazado.

    •  Primitivas de Raster (bitmaps y rectángulos de pixels)

    •  Operaciones con Pixels

    •  Transformaciones: rotación, escalado, perspectivas en 3D

6

Page 7: graficacion

P á g i n a | 7

Como se ha mencionado para hacer OpenGL verdaderamente portable e independiente de la plataforma fue necesario sacrificar todos los comandos que interactuaban con el sistema de ventanas . La biblioteca GLUT es dependiente de la plataforma, y se puede utilizar como un manejador común para el sistema de ventanas y dispositivos periféricos. Así pues cuando una aplicación OpenGL quiere abrir una ventana para una animación gráfica usa el conjunto de comandos GLUT y éste toma el control del sistema de ventanas subyacente.

OpenGL ES es una versión de OpenGL optimizada para sistemas integrados, como teléfonos móviles, es una API común y gratuita de gráficos 2D/3D. Fue definida por el Grupo Khronos y lanzada en el 2003. OpenGL ES conserva todas las funciones esenciales del OpenGL, prescindiendo de las características redundantes y menos utilizadas. OpenGL ES ha sido seleccionada como la interfaz de gráficos 3D para dispositivos Symbian.

Debido a que los dispositivos móviles tienen una memoria y un procesador limitados, una pantalla de baja resolución y no poseen hardware específico para gráficos, OpenGL ES elimina API's y utilidades que son demasiado complejas y poco útiles en plataformas móviles. Además añade tipos de datos pequeños usados por algunas API's de OpenGL ES y soporte para operaciones de punto fijo.

EGL API es una interfaz que se encuentra entre OpenGL ES y OpenVG.

Librerías de OPEN GL

OpenGL: una API, no un lenguaje

OpenGL se divide en tres librerías distintas:

1. Librería auxiliar AUX (glaux): independiente de la plataforma2. Librería específica OpenGL (gl)3. Librería de utilidades (glu): dibujo de esferas, discos, cilindros, etc.

OpenGL define sus propios tipos de datos

GLbyte entero de 8 bits GLushort entero de 16 bits sin signo GLint entero de 32 bits GLdouble real de 64 bits

7

Page 8: graficacion

P á g i n a | 8

OpenGL Utility Library (GLU): Esta librería proporciona una serie de funciones que sirven para tareas tales como actualizar matrices para obtener orientaciones yproyecciones del punto de vista adecuado, generar superficies etc... Todas las funciones de esta librería comienzan por las letras “glu”, y se irán describiendo a medida que sean útiles.

OpenGL Auxiliary Library (AUX): Son muy útiles y cubren una gran variedad de funciones como gestionar las ventanas, gestionar los eventos de entrada a la aplicación o dibujar objetos complejos en 3D.

OpenGL Extention to the X Windows System (GLX): Se utilizan para trabajar con el sistema de ventanas X Windows. Utilizan el prefijo “glx” pero no las utilizaremos a lo largo de este curso.Como punto final de esta introducción se ha configurado una útil tabla con todas las funciones de la librería “aux”, divididas según su misión:

Funciones de inicio de ventana. Gestión de eventos. Dibujar Objetos tridimensionales. Procesos en background. Ejecución del programa

8

Page 9: graficacion

P á g i n a | 9

9

Page 10: graficacion

P á g i n a | 10

Juegos

Ciencia y Análisis

Simulación

10

Page 11: graficacion

P á g i n a | 11

CONCLUSIONES

OpenGL es una buena elección para generación de efectos visuales, escenas, etc, debido a su portabilidad, estandarización y potencia gráfica.

OpenGL esta pasando a segundo plano ante los nuevos programas de diseño que realizan tareas automáticamente.

11

Page 12: graficacion

P á g i n a | 12

BIBLIOGRAFIA

Especificación● http://www.opengl.org/documentation/specs/version1.5/glspec15.pdf● OpenGL Reference Manual● http://www.opengl.org/documentation/blue_book/● OpenGL Programming Guide● http://www.opengl.org/documentation/red_book/● Otra información● http://www.opengl.org/● http://www.sgi.com/products/software/opengl/● http://www.sgi.com/products/software/opengl/examples/index.html● http://www.mesa3d.org●http://www.fing.edu.uy/inco/cursos/compgraf/Clases/2012/OpenGL2012_2.pdfhttp://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/3D/graficos%20en%20moviles/QueEsopenGL.htmhttp://dac.etsii.urjc.es/docencia/GV3D/DocGL1.pdf

12