Cool

Solo disponible en BuenasTareas
  • Páginas : 12 (2821 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de noviembre de 2010
Leer documento completo
Vista previa del texto
1. Historia
 OpenGL

Introducción a OpenGL

es un estándar sobre gráficos por computadora. Hoy día es uno de los estándares gráficos más conocido del mundo.  En 1982 nació en la Universidad de Standford el concepto de "graphics machine" y éste fue utilizado por Silicon Graphics Corporation en su propia estación Silicon IRIS para crear un renderizador. Así nació la librería IRIS GL.  Araíz de esto, en 1992 muchas empresas del hardware y software se pusieron de acuerdo para desarrollar conjuntamente una librería gráfica libre: OpenGL.  Entre estas empresas destacaban Silicon Graphics Inc., Microsoft, IBM Corporation, Sun Microsystems, Digital Equipment Corporation (DEC), Hewlett-Packard Corporation, Intel e Intergraph Corporation. Así nacio OpenGL (Open Graphics Library).

1 1. Historia


Introducción a OpenGL



Fue importante para el despegue definitivo de OpenGL la elección de John Carmack para realizar el juego Quake con esta API gráfica, marcando un precedente innegable, con OpenGL era más sencillo y eficaz la realización de programas 3D (1996). Para elegir entre DirectX (3.0/3.0a) y OpenGL realizó un pequeño ejemplo de Lens Flare (brillo sobre laslentes), con OpenGL escribió unas 30 líneas de código mientras que en DirectX escribió unas 300 líneas de código, además el efecto era mejor y más rápido en OpenGL que en DirectX, por tanto su elección fue clara.

2

1. Historia

Efecto de Lens Flare

Introducción a OpenGL

3

2. Uso del OpenGL
 
Introducción a OpenGL

DirectX -> Windows OpenGL -> Windows, Linux, Mac (unix)

•Drivers optimizado para el hardware

  



XBox 360 -> DirectX Wii -> OpenGL Playstation 3 -> OpenGL resto de consolas -> OpenGL
4

2. Uso del OpenGL


Portabilidad: Si nos guiamos por la portabilidad,
DirectX difícilmente supere a OpenGL, dada su gran dependencia con Windows y sus componentes. Fuera de este sistema operativo, solamente se encuentra implementada en la consolaXbox. En cambio, OpenGL es compatible no sólo con Windows, sino que se utiliza en sistemas Unix, Linux, Mac y hasta en consolas como PlayStation 3 y Nintendo Wii. En resumen: exceptuando Windows y Xbox, todos los sistemas que proveen soporte para aceleración 3D han escogido a OpenGL para esa tarea. Por algo será, ¿no?.

Introducción a OpenGL

5

2. Uso del OpenGL


Facilidad de uso: En suscomienzos, varios programadores se agarraban la cabeza cuando tenían que trabajar con DirectX, debido a lo complejo de su utilización. Con el correr de las versiones, la balanza se fue equilibrando y, hoy en día, a pesar de que sigue un paradigma completamente distinto a OpenGL (inspirado en el modelo COM), ya no es tan complicado de usar. Lenguajes como Visual Basic o Visual Basic Script son unejemplo de los que trabajan con este modelo. Por el lado de OpenGL, al estar basado en el lenguaje de programación C, es bastante más comprensible y puede ser adaptado a cualquier otro lenguaje sin demasiadas complicaciones. La diferencia principal es que DirectX es una API cuya plataforma se basa en lo que el hardware es capaz de realizar, mientras que OpenGL es un tanto más independiente. A suvez, de su implementación depende la administración de los recursos, algo que en DirectX corre por cuenta de la aplicación. Este detalle permite un desarrollo de software más sencillo, pero es más propenso a sufrir los tan temidos errores de programación (mejor conocidos como bugs). 6

Introducción a OpenGL

2. Uso del OpenGL


Introducción a OpenGL

Performance: El rendimiento delsoftware creado por medio de una u otra API sigue siendo un parámetro muy debatido. Dado que DirectX implementa los drivers a nivel del núcleo en el sistema operativo y de nivel usuario con un runtime provisto por Microsoft, existe la necesidad de hacer un cambio entre un modo y otro en las llamadas a la API. Como consecuencia, la CPU utiliza valiosos microsegundos en completar la operación, quedando...
tracking img