Computación gráfica
# 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.

## 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 esta 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).
