martes, 26 de abril de 2011

El Software Grafico




Una representación gráfica consisten en un conjunto de pixeles que se obtiene a partir de una idea de más alto nivel; como puede ser la descripción de la gráfica en términos de líneas, arcos, colores etc. o incluso en términos de objetos tridimensionales, puntos de vista e iluminación.

El como llegar de estas descripciones de alto nivel al conjunto de pixeles final es algo de lo que las diferentes partes del sistema se deberán encargar; por lo general el programador dispone de una serie de librerías de programación gráfica que le permiten escribir aplicaciones sin tener que llegar a conocer en detalle el hardware sobre el que se ejecutará su código, y sin tener que escribir desde el principio miles de procedimientos que, además, distan de ser triviales. Ejemplos de estas librerías podrían son OpenGL de SGI y Direct3D de Microsoft.

Por lo general, estas librerías permiten trabajar creando estructuras en un sistema de coordenadas local, integrar estas estructuras en una escena más compleja que utiliza un sistema de coordenadas global o "de mundo". De algún modo, el software transformará estas coordenadas a unas coordenadas de dispositivo normalizado (independiente de las características físicas del dispositivo real) y en un último paso estas se ajustarán al rango de salida del dispositivo final.



Los bloques de construcción básicos que ofrece una librería se conocen como "primitivas" y pueden incluir desde un mínimo de líneas, círculos, caracteres, etc. en dos dimensiones hasta mallas de polígonos tridimensionales, definiciones de luces, etc.

Las siguientes APIs para gráficos por computadora son particularmente populares:

• OpenGL
• Direct3D (subconjunto de DirectX para producir gráficos interactivos en 3D)

OpenGL

OpenGL (Open Graphics Library) es una API portable para desarrollar aplicaciones gráficas interactivas 2D y 3D. Fue desarrollada por Silicon Graphics y actualmente es un estándar abierto controlado por diversas compañías. Su mayor ventaja es su portabilidad, es decir que puede ser usada en una gran cantidad de plataformas de hardware, desde dispositivos móviles hasta súper computadoras, además de distintos sistemas operativos y tarjetas aceleradoras 3D. Es relativamente fácil de usar.
Algunas de las operaciones que se pueden realizar con OpenGL son las siguientes:
• Modelado de figuras a partir de primitivas básicas, mediante la creación de descripciones geométricas de los objetos (puntos, líneas, polígonos y mapas de bits).
• Situar los objetos en el espacio de una escena tridimensional y seleccionar el punto de vista desde el que se quiere observar.
• Determinar el color de los objetos. El color puede asignarse a cada pixel, o calcularse a partir de las condiciones de iluminación o asignarse por medio de una textura mapeada sobre los objetos.
• Convertir la representación matemática de los objetos y la información de color y textura asociada, en pixeles de la pantalla, en una imagen virtual tridimensional.
Además de estos procesos, OpenGL realiza otras operaciones complejas como la eliminación de líneas y caras de los objetos que quedan ocultas para el usuario al ser cubiertas por otros objetos de la escena.



Direct3D

Direct3D es parte de DirectX, una API propiedad de Microsoft disponible tanto en los sistemas Windows de 32 y 64 bits, como para sus consolas Xbox y Xbox 360 para la programación de gráficos 3D.

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áfico 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.

No hay comentarios:

Publicar un comentario