# Computación gráfica

    Este artículo trata sobre la computación gráfica. Para el diario de la ACM véase SIGGRAPH.
La computación gráfica o gráficos por ordenador es el campo de la informática visual, donde se utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real.
El primer mayor avance en la gráfica realizada por computadora era el desarrollo de Sketchpad en 1962 por Ivan Sutherland.
Este campo puede ser dividido en varias áreas: Interpretado 3D en tiempo real (a menudo usado en videojuegos), animación de computadora, captura de vídeo y creación de vídeo interpretado, edición de efectos especiales (a menudo usado para películas y televisión), edición de imagen, y modelado (a menudo usado para ingeniería y objetivos médicos). El desarrollo en la gráfica realizada por computadora fue primero alimentado por intereses académicos y patrocinio del gobierno. Sin embargo, cuando las aplicaciones verdaderas mundiales de la gráfica realizada por computadora (CG) en televisión y películas demostraron una alternativa viable a efectos especiales más a las tradicionales y las técnicas de animación, los comerciales han financiado cada vez más el avance de este campo.
A menudo se piensa que la primera película para usar gráficos realizados por computadora era 2001: A Space Odyssey (1968), que intentó mostrar como las computadoras serían mucho más gráficas en el futuro. Sin embargo, todos los gráficos de computadora en aquella película eran la animación dibujada a mano (por ejemplo en las pantallas de televisión se simulaba el comportamiento de las computadoras con dibujos), y las secuencias de efectos especiales fue producida completamente con efectos ópticos y modelos convencionales.
Quizás el primer uso de la gráfica realizada por computadora expresamente para ilustrar gráfica realizada por computadora estaba en Futureworld (1976), que incluyó una animación de una cara humana y mano - producido por Ed Catmull y Fred Parke en la Universidad de Utah.

## Gráficos 2D de computadora

El primer avance en la computación gráfica fue la utilización del tubo de rayos catódicos. Hay dos acercamientos a la gráfica 2d: vector y gráficos raster. La gráfica de vector almacena datos geométricos precisos, topología y estilo como posiciones de coordenada de puntos, las uniones entre puntos (para formar líneas o trayectos) y el color, el grosor y posible relleno de las formas. La mayor parte de los sistemas de vectores gráficos también pueden usar primitivas geométricas de forma estándar como círculos y rectángulos, etc. En la mayor parte de casos una imagen de vectores tiene que ser convertida a una imagen de trama o raster para ser vista.
Los gráficos de tramas o raster (llamados comúnmente Mapa de bits) es una rejilla bidimensional uniforme de pixeles. Cada pixel tiene un valor específico como por ejemplo brillo, transparencia en color o una combinación de tales valores. Una imagen de trama tiene una resolución finita de un número específico de filas y columnas. Las demostraciones de computadora estándares muestran una imagen de trama de resoluciones como 1280 (columnas) x 1024 (filas) pixeles. Hoy uno a menudo combina la trama y lo gráficos vectorizados en formatos de archivo compuestos (pdf, swf, svg).

## Gráficos 3D de computadora

Con el nacimiento de las estaciones de trabajo (como las máquinas LISP, Paintbox computers y estaciones de trabajo Silicon Graphics) llegaron los gráficos 3D, basados en la gráfica de vectores. En vez de que la computadora almacene la información sobre puntos, líneas y curvas en un plano bidimensionales, la computadora almacena la posición de puntos, líneas y típicas caras (para construir un polígono) en un Espacio de tres dimensiones.
Los polígonos tridimensionales son la sangre de prácticamente todos los gráficos 3d realizados en computadora. Como consiguiente, la mayoría de los motores de gráficos de 3D están basados en el almacenaje de puntos (por medio de 3 simples coordenadas dimensionales X, Y, Z), líneas que conectan aquellos grupos de puntos, las caras son definidas por las líneas, y luego una secuencia de caras crean los polígonos tridimensionales.
El software actual para generación de gráficos va más lejos de sólo el almacenaje de polígonos en la memoria de computadora. Las gráficas de hoy no son el producto de colecciones masivas de polígonos en formas reconocibles, ellas también resultan de técnicas en el empleo de Shading (sombreadores), texturing (texturizado o mapeado) y la rasterización (en referencia a mapas de bits).

## Sombreado (shading)

El proceso de sombreado o shading (en el contexto de los gráficos realizada por computadora) implica la simulación de computadora (o más exactamente; el cálculo) como las caras de un polígono se comportarán cuando es iluminado por una fuente de la luz virtual. El cálculo exacto varía según los datos disponibles sobre la cara sombreada y según la técnica de sombreado empleada.
Generalmente este afecta propiedades de la especularidad y valores de intensidad, reflexión y transparencia.

## Iluminación

Un modelo de iluminación, también llamado modelo de alumbrado, se utiliza para calcular la intensidad de la luz que percibimos desde un punto determinado en la superficie de un objeto. Un algoritmo de presentación de superficies emplea los cálculos de la intensidad a partir de un modelo de iluminación para determinar la intensidad de la luz para todas posiciones de pixel que se proyectan para las diversas superficies en una escena. Se puede efectuar la presentación de superficies al aplicar el modelo de iluminación en todos los puntos de la superficie visible o mediante la interpolación de las intensidades a lo largo de las superficies con base en un conjunto reducido de cálculos del modelo de iluminación.
El modelado de los colores y efectos de iluminación que se ven en un objeto, es un proceso complicado que implica principios tanto físicos como psicológicos. A menudo, los modelos de iluminación en las graficas por computadora se derivan en forma aproximada de las leyes físicas que describen las intensidades de luz de la superficie. Al fin de reducir al mínimo los cálculos, la mayor parte de los paquetes utilizan modelos empíricos que se basan en cálculos fotométricos simplificados.
Las fuentes de luz simulan la iluminación en una escena. Aquí están los tres tipos principales:

### Point Light (Luz Puntual)

Las point Lights, son aquellas luces que emiten luz desde un punto del espacio. Estas, permiten que la luz sea exactamente igual en todas las direcciones. La luz, disminuye con la distancia hasta llegar a cero. Este tipo de luces, se suelen usar en escenas donde hay que simular fuentes de luz como puede ser de lámparas, chispas, explosiones entre otros ejemplos.

### Directional Light (Luz Direccional)

Esta iluminación en, nos permite iluminar la escena o objeto que hayamos montado. Esto hace que el ambiente sea mucho más real ya que podemos colocar la luz a una gran distancia afectando a toda la escena. Este tipo de iluminación, se suele usar especialmente, para escenas al aire libre para la iluminación solar o lunar. Por lo que es ideal, para simular la noche o el día en nuestra escena.

### Spot Light (Luz de Foco)

Spot Light, es un tipo de luz de foco en forma de cono. Esta hace que la luz parta de un punto hacia un lugar en concreto. Este, simula la luz de un foco, dirigiendo la luz a una dirección con una abertura determinada. Lo más parecido a este tipo de luz, es por ejemplo a la que podemos encontrar en el teatro.

## Representación basada en Imagen - Image Based Rendering (IBR)

La computación gráfica permite la obtención de imágenes 2D desde modelos tridimensionales. A fin de hacerse muy exacto y obtener imágenes fotorealistas, la entrada de los modelos 3D debería ser muy exacta en términos de geometría y colores. La simulación de paisajes y escenas fotorealilstas que utilicen esta técnica requiere un gran esfuerzo y talento con programas de CAD. En vez de obtener modelos 3D, Las representaciones basadas en imagen (IBR) usan imágenes tomadas de puntos de vista particulares y trata de obtener nuevas imágenes de otros puntos de vista. Aunque el término Representación basada en Imagen fue acuñado recientemente, aunque en la práctica se usó desde el inicio de la investigación en la Visión obtenida por Computadora.
       En 1996, se hicieron muy populares dos técnicas: los campos de luz (lightfield en inglés) y el lumigraph (que no tiene traducción asentada en español).
Estas técnicas recibieron la atención especial de la comunidad de investigación. Desde entonces, muchas representaciones para IBR fueron propuestas. Un método popular es la texturas dependientes del punto de vista, una técnica IBR de la Universidad del Sur de California. La Universidad de Oxford usó conceptos de la "Máquina de Aprendizaje" para IBR.
* Sombreador: generalmente se le aplica a los materiales en todo sistema de simulación 3d, se les conoce también como shader.
* Sombreado Flat (plano): una técnica que sombrea cada polígono de un objeto basándose en su vector normal (dirección hacia la que apunta un polígono) y la posición e intensidad de una fuente de la luz.
* Sombreado de Gouraud: Inventado por Henri Gouraud en 1971, una técnica rápida y consciente de los recursos disponibles en una computadora, solía simular superficies suavemente sombreadas interpolando colores de vértice a través de la superficie de un polígono.
* Mapeo de texturas (Correlación de textura): una técnica para simular detalle superficial trazando un mapa de imágenes (texturas) en polígonos.
* Sombreado de Phong: Inventado por Bui Tuong Phong, una técnica de sombreado lisa que se acerca a la superficie curva iluminada por la interpolación de los vértices normales de un polígono a través de la superficie; el modelo iluminado incluye la reflexión de brillo con un nivel controlable del mismo.
* Bump mapping (Correlación de relieve): Inventado por Jim Blinn, una técnica de perturbación normal (la dirección hacia donde apunta un polígono) solía simular superficies desiguales o arrugadas y con relieve.
* Ray Tracing (Trazador de rayos): un método basado en los principios físicos de la óptica geométrica que puede simular reflexiones múltiples y la transparencia.
* Radiosidad: una técnica para la iluminación global que usa la teoría de transferencia de radiación para simular la iluminación (reflejada) indirecta en escenas con superficies difusas.
* Blob: una técnica para representar superficies sin especificar una representación divisoria difícil, por lo general puesta en práctica como una superficie procesal como una Van der Waals equipotential (en química).

## Texturing - Texturizado

Las superficies polígonales (secuencia de caras) pueden contener datos correspondiente de más de un color, pero en el software más avanzado, pueden ser una lona virtual para una imagen, u otra imagen rasterizada. Tal imagen es colocada en una cara, o la serie de caras y es llamada Textura.
Las texturas añaden un nuevo grado de personalización en cuanto a como las caras y los polígonos que cuidarán por último la forma en que serán sombreados, según el método de sombreado, y como la imagen es interpretada durante el sombreado.

## Materiales

Un Material es un conjunto de parámetros que son manipulados mediante software para darle un acabado al modelo 3D, entre dichos parámetros se encuentran:
* Componente Difusa (Diffuse): esta componente está muy ligada a la textura, ya que es el color principal que tomará el modelo.
* Compuntente Normal: esta componente se encarga de que tanto va a interactuar con la iluminación del entorno el modelo.
* Componente Specular: Esta componente es la encargada de que tan concentrado esta la iluminación del objeto (que tan brilloso es el acabado del objeto).