OpenGL

16
OPENGL COMPUTACION GRAFICA ING CARLOS ROJAS FABIAN STIVEN BELTRAN CARLOS ALBERTO ROMERO GABRIEL ENRIQUE CONTRERAS FABIO NELSON RINCON

Transcript of OpenGL

Page 1: OpenGL

OPENGL

COMPUTACION GRAFICA

ING CARLOS ROJAS

FABIAN STIVEN BELTRANCARLOS ALBERTO ROMERO

GABRIEL ENRIQUE CONTRERASFABIO NELSON RINCON

Page 2: OpenGL

OPENGL (OPEN GRAPHICS LIBRARY)

Es una especificación estándar que define una API multilenguaje y multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. La interfaz consiste en más de 250 funciones diferentes que pueden usarse para dibujar escenas tridimensionales complejas a partir de primitivas geométricas simples, tales como puntos, líneas y triángulos.

Page 3: OpenGL

OPENGL Y DIRECTX(DIRECT 3D)

DIRECTX

Es una colección de API desarrolladas para facilitar las complejas tareas relacionadas con multimedia, especialmente programación de juegos y vídeo, en la plataforma Microsoft Windows.

DirectX consta de las siguientes API: Direct3D: utilizado para el procesamiento y la

programación de gráficos en tres dimensiones (una de las características más usadas de DirectX).

Direct Graphics: para dibujar imágenes en dos dimensiones (planas), y para representar imágenes en tres dimensiones.

Page 4: OpenGL

DirectInpu: para procesar datos del teclado, mouse, joystick y otros controles para juegos.DirectPlay: para comunicaciones en red.DirectSound: para la reproducción y grabación de sonidos de ondas.DirectMusic: para la reproducción de pistas musicales compuestas con DirectMusic Producer.DirectShow: para reproducir audio y vídeo con transparencia de red.DirectSetup: para la instalación de componentes DirectX.DirectCompute: lenguaje e instrucciones especiales para el manejo de cientos o miles de hilos de procesamiento, especial para procesadores de núcleos masivos.A pesar de ser desarrollado exclusivamente para la plataforma Windows, se está desarrollando una implementación de código abierto de su API para sistemas Unix (en particular Linux) y X Window System por el proyecto WineHQ, del cual existe fork propietario, Cedega, desarrollada por la empresa de software Transgaming y orientada a la ejecución de juegos desarrollados para Windows bajo sistemas Unix.

Page 5: OpenGL

DIRECT3D

Es parte de DirectX (conjunto de bibliotecas para multimedia), propiedad de Microsoft. Consiste en una API para la programación de gráficos 3D. Está disponible tanto en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360.

El objetivo de esta API es facilitar el manejo y trazado de entidades gráficas elementales, como líneas, polígonos y texturas, en cualquier aplicación que despliegue gráficos en 3D, así como efectuar de forma transparente transformaciones geométricas sobre dichas entidades. Direct3D provee también una interfaz transparente con el hardware de aceleración gráfica.

Se usa principalmente en aplicaciones donde el rendimiento es fundamental, como los videojuegos, aprovechando el hardware de aceleración gráfica disponible en la tarjeta gráfica.

El principal competidor de Direct3D es OpenGL, desarrollado por Silicon Graphics Inc.

Page 6: OpenGL

VERSIONESOpenGL 1.0

Publicada en enero de 1992.La primera especificación de OpenGL fue publicada por Mark Segal y Kurt Akeley.

OpenGL 1.1 Publicada en enero de 1997.

OpenGL 1.1 se enfocó en el soporte de texturas y formatos de textura sobre hardware de GPU.

OpenGL 1.2 Publicada el 16 de marzo de 1998.

OpenGL 1.2 se enfocó en el soporte de texturas de volumen, píxeles empaquetados, reescalado normal, muestreo de texturas clamped/edge y procesamiento de imágenes.Tarjetas gráficas soportadas: Rage 128, Rage 128 GL, Rage XL/XC, Rage 128 Pro, Rage Fury MAXX, y todas las tarjetas posteriores.

Page 7: OpenGL

OpenGL 1.2.1 Publicada el 14 de octubre de 1998

OpenGL 1.2.1 fue un lanzamiento menor publicado depués de OpenGL 1.2 (16 de marzo de 1998) el cual añadió multi-textura, o unidades de textura, al canal de renderizado. Esto permitió texturas múltiples que son combinadas por píxel durante la rasterización.Tarjetas gráficas soportadas: Radeon, Radeon Mobility, Radeon 7500 Mobility, Radeon 8500, Radeon 9000, Radeon 9200, Radeon 9600, Radeon 9800, GeForce 3, GeForce 4Ti, GeForce FX, y todas las tarjetas posteriores

OpenGL 1.3 Publicada el 14 de agosto de 2001.

OpenGL 1.3 añadió soporte para textura cubemap, múltiples texturas, multi-muestreo y operaciones de combinación de unidades de textura (añadir, combinar, dot3, border clamp).

Page 8: OpenGL

Tarjetas gráficas soportadas: Radeon 32/36, Radeon 64/7200, Radeon 7000, Radeo AIW, Radeon 7500, Radeon IGP 320M, Radeon IGP 345M, ES1000, Radeon 8500, Radeon 9000/Pro, Radeon 9100/9200/9250 (Pro & IGP), GeForce 3, GeForce 4Ti, GeForce FX, y todas las tarjetas posteriores.OpenGL 1.4

Publicada el 24 de julio de 2002.

OpenGL 1.4añadió soporte de sombreado por hardware, coordenadas niebla, generación automática de mipmaps, y modos de textura adicionales.Tarjetas gráficas soportadas: Quadro DCC, Quadro4 380 XGL, Quadro4 500XGL, 550XGL, Quadro4 700XGL, 750XGL, 900XGL, 980XGL, y todas las tarjetas posteriores.

Page 9: OpenGL

OpenGL 1.5 Publicada el 29 de julio de 2003.

OpenGL 1.5 añadió soporte para objetos de búfer de vértice (VBOs), consultas de oclusión, y amplió las funciones de sombreado.Tarjetas gráficas soportadas: Radeon X800, Radeon 9600, Radeon 9700, Radeon 9800, GeForce FX, y todas las tarjetas posteriores.

OpenGL 2.0 Publicada el 7 de septiembre de 2004.

OpenGL 2.0 añadió soporte para un lenguaje ensamblador basado en GPU verdadero, llamado ARB (diseñado por el Architecture Review Board), que se convertiría en el estándar para vertex y fragment shaders. Las tarjetas publicadas con OpenGL 2.0 fueron las primeras en ofrecer shaders programables por el usuario.Tarjetas soportadas: Radeon 9650, Radeon 9500, Radeon 9500/9550/9600/9700/9800 (Pro, SE, XT), Radeon X1050, Radeon Xpress 200 / 1100, Radeon X300, Radeon X550, Radeon X600/Pro, Radeon X700, Radeon X800 (VE, SE, GT, Pro), Radeon X850, Radeon Xpress 1250, Radeon X1200, Radeon X1250, Radeon 2100, Radeon X1300, X1550, X1600, X1650, X1800, X1900, X1950 (Pro, XT, GT), GeForce 6800, Quadro 600, Qaudro FX 500, Quadro FX 700, Quadro FX 1000, FX 2000, FX 3000, Quadro FX 1400, Quadro FX 1500, Quadro FX 3450, Quadro FX 3500, Quadro FX 4500X2, Quadro FX4500 SDI, y todas las tarjetas posteriores.

Page 10: OpenGL

OpenGL 2.1 El 2 de agosto de 2006 se publicó OpenGL 2.1. Siendo

completamente compatible con las versiones anteriores, aporta además nuevas características como:

Revisión 1.20 del OpenGL Shading Language (GLSL). Comandos que soportan la especificación de matrices no cuadradas. Objetos Pixel buffer para acelerar el tráfico de imágenes en los

buffers en comandos como glTexImage2D y glReadPixels. Esta funcionalidad corresponde a la extensión

ARB_pixel_buffer_object. Texturas sRGB. Esta funcionalidad corresponde a la extensión GL_EXT_texture_sRGB.

OpenGL 3.0 La versión OpenGL 3.0 fue publicada el 11 de agosto de 2008. Es

compatible hacia atrás con todas las versiones anteriores de OpenGL, aunque introduce un nuevo mecanismo para despreciar (deprecate en inglés) funcionalidad obsoleta y así poder simplificar la API en versiones futuras.

Page 11: OpenGL

OpenGL 3.1 La versión 3.1 (Longs Peak Reloaded) fue publicada el 24 de

marzo de 2009, y presenta una serie de características para hacer la API más conveniente de utilizar, además de las características orientadas al rendimiento:

OpenGL 3.2 La versión 3.2 fue publicada el 3 de agosto de 2009. Incluye las

siguientes características: Lenguaje de Sombreado OpenGL revisión 1.50 (GLSL) Soporte de Geometría Shader BGRA vértice componente de pedidos Fragmento Shader coordinar el control de convención Perfecta mapa cubo filtrado Fragmento de profundidad de sujeción Multisampled texturas y textura de las muestras para lugares

específicos de la muestra Objetos de sincronización y cerca

Page 12: OpenGL

OpenGL 3.3

Publicada el 11 de marzo de 2010

OpenGL 3.3

simultáneamente lanzado con OpenGL 4.0 y complementada por un conjunto de nuevas extensiones ARB, porta tanta funcionalidad como es posible desde la especificación OpenGL 4.0 para su uso en la generación anterior de hardware GPU. Incluye GLSL 3.30.

Page 13: OpenGL

OpenGL 4.0 Publicada el 11 de marzo de 2010

Tarjetas compatibles: Radeon HD serie 5000, nVidia GTX serie 400;

OpenGL 4.1 Anunciado el 26 de julio de 2010

Tarjetas soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500 series, ATI Radeon HD 5000 series, AMD Radeon HD 6000 Series

Esta nueva versión añade estas características adicionales a la especificación, muchas de las cuales ayudan a ponerla en consonancia con las de Direct3D 11:

OpenGL 4.2 Publicado el 8 de agosto de 2011

Tarjetas soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500 series, ATI Radeon HD 5000 series, AMD Radeon HD 6000 Series, ATI Radeon HD 7000 series

Page 14: OpenGL

OpenGL 4.3 Publicado el 6 de agosto de 2012

Tarjetas Soportadas: Nvidia GeForce 400 series, Nvidia GeForce 500 series, Nvidia GeForce 600 series

Page 15: OpenGL

BINDINGS XBL o eXtensible Bindings Language es un lenguaje de

marcas que se emplea para definir el comportamiento y la apariencia de aplicaciones XUL y elementos XML. El lenguaje XUL define la disposición de la interfaz de usuario de una aplicación, que puede adoptar diferentes aspectos dependiendo del estilo definido. Sin embargo resulta imposible definir cómo funciona cada elemento, como por ejemplo, la forma en que funcionan una barra de progreso. Es aquí donde entra en juego el lenguaje XBL.

  Un archivo XBL contiene asociaciones (bindings). El elemento

raíz de todo documento XBL es <bindings>, que contiene a su vez uno o varios elementos <binding>. Cada uno de estos últimos declara un binding que puede asignarse a cualquier elemento XUL. La forma de realizar esta asignación es a través de las hojas de estilo: la propiedad -moz-binding del elemento XUL debe indicar la URL del documento XBL

Page 16: OpenGL

PROYECTOS EXITOSOS

Call of duty Google maps Metal gear solid God of war Tekken Angry birds