Archivo del blog

domingo, 5 de junio de 2011

FUNDAMENTO DE LA COMPUTACION GRAFICA


En la actualidad, los gráficos por computador se emplean en una gran variedad de aplicaciones, como en interfaces gráficas de usuario, tipografía digital, paseos arquitectónicos virtuales, aplicaciones médicas y juegos de vídeo, entre otras. La computación gráfica comprende una gran variedad de técnicas que pueden ser agrupadas de acuerdo al número de dimensiones que se empleen en la representación del modelo geométrico a visualizar, en 2D y 3D: 


COMPUTACION GRAFICA 2D
La computación gráfica 2D corresponde al conjunto de técnicas que tienen como objeto la generación de una imagen digital a partir de modelos geométricos bidimensionales. Estas técnicas son principalmente empleadas en interfaces gráficas de usuario  y en aplicaciones desarrolladas a partir de tecnologías de impresión y dibujo, como tipografía, cartografía y dibujo técnico, entre otras. El origen de las mismas se remonta a la década de los 50's en la que aparecieron dispositivos con soporte para gráficos vectoriales. 

Los gráficos vectoriales y de rasterización conforman las principales categorías de la computación gráfica 2D. Aquellos emplean primitivas geométricas basadas en ecuaciones matemáticas (puntos, líneas, curvas y polígonos) para representar las imágenes; mientras que en éstos, la imagen se representa mediante una matriz rectangular de píxeles que puede ser desplegable en un dispositivo de salida cualquiera
. 


Interfaces gráficas 

Una interfaz gráfica permite al usuario interactuar gráficamente (de modo visual) con distintos dispositivos electrónicos, como PCs, PDAs, etc. Las interfaces gráficas, en contraste con las textuales, ofrecen elementos gráficos (i.e., indicadores visuales) que sirven para representar las acciones de la aplicación disponibles al usuario. Dichas acciones son usualmente ejecutadas mediante la manipulación directa de los elementos gráficos presentes en la interfaz. Por razones históricas, el dominio de las interfaces gráficas se encuentra restringido al espacio bidimensional. 

Debido al advenimiento del software libre, en la última década se ha dado una gran proliferación y desarrollo de paquetes de interfaces gráficas. Entre los más destacados se tienen los siguientes: Qt, Wxwidgets, GTK+, Motif, XForms, FLTK.
 




COMPUTACION GRAFICA 3D

La computación gráfica 3D trata acerca de la síntesis de una imagen bidimensional a partir de un modelo geométrico tridimensional. De acuerdo con la complejidad de los cálculos empleados en la generación de las imágenes, las técnicas se clasifican en prerendering y real-time rendering. Aquellas son típicamente empleadas en la creación de animaciones de tipo foto-realista; mientras que éstas se emplean en aplicaciones que requieren interactividad. En el último caso, es necesario el uso de un procesador de gráficos dedicado (en la actualidad, ampliamente disponibles para el usuario común). 

Técnicas de rendering 
De acuerdo al modo en el que la luz se modele, las técnicas de rendering se clasifican en las siguientes categorías: 

Rasterización: Este método consiste en iterar en cada cuadro a través de todas las primitivas geométricas que conforman la escena para determinar, a partir del punto de vista del usuario, cuales píxeles de la imagen se ven afectados. Por ser el método de rendering más ampliamente empleado por la mayoría de GPUs en la actualidad, este método es el más eficiente y por ello es el predilecto cuando la aplicación requiere interactividad. 

Ray-tracing: El ray tracing es una extensión del ray-casting. Mientras que en el ray-casting el color de cada píxel de la imagen se calcula como el color del primer objeto intersecado por un rayo imaginario que se lanza desde el punto de vista, al píxel en cuestión; en el ray-tracing se emplea esta técnica de modo recursivo, i.e., empleando rayos de refracción y reflexión a partir del punto en la superficie del objeto intersecado por el rayo inicial. Usualmente este cómputo se realiza promediando un número aleatorio de muestras (rayos de luz emanados de la superficie de los objetos que intersecan el punto de vista) mediante técnicas de Monte Carlo. 

Métodos de iluminación global: En estas técnicas se emplea la teoría de elementos finitos para simular el modo en que las superficies iluminadas actúan a su vez como fuentes de iluminación de otras superficies, produciendo una efecto más realista en el que el ambiente de la escena parece ser mejor captado. 
Gracias al gran avance que recientemente ha tenido la tecnología presente en las GPUs, en la actualidad han surgido aplicaciones gráficas mediante las cuales es posible interactuar en tiempo real con una escena sintetizada mediante algún modelo de iluminación complejo, como el ray-tracing. Lo anterior es particularmente posible gracias al advenimiento de los shaders que permiten combinar algunos modelos de iluminación complejos, con los algoritmos básicos de rasterización. 

No hay comentarios:

Publicar un comentario