Marco de Trabajo de Rendering no Fotorrealista.

En Computación Gráfica uno de los conceptos más importantes es el \emph{Rendering}, definido como el proceso que a partir de los datos de una escena tridimensional genera una imagen en una ventana de visualización en 2 dimensiones. El rendering siempre se ha enfocado en generar imágenes fotorreal...

Full description

Bibliographic Details
Main Author: Graells Garrido, Eduardo Nicolás
Other Authors: Rivara Zúñiga, María Cecilia
Language:es
Published: Universidad de Chile 2012
Subjects:
C++
Cg
GPU
NPR
Online Access:http://repositorio.uchile.cl/handle/2250/103211
Description
Summary:En Computación Gráfica uno de los conceptos más importantes es el \emph{Rendering}, definido como el proceso que a partir de los datos de una escena tridimensional genera una imagen en una ventana de visualización en 2 dimensiones. El rendering siempre se ha enfocado en generar imágenes fotorrealistas, aunque para diversas aplicaciones y escenarios se desea una imagen abstracta y/o estilizada. El proceso que puede generar ese tipo de imágenes es llamado Rendering No Fotorrealista, o NPR por sus siglas en inglés (Non Photorealistic Rendering). El NPR integra conceptos de Computación Gráfica y de Geometría Diferencial, y puede aplicarse en visualización científica e ilustración técnica, con el fin de destacar áreas o contornos de los objetos que son de interés para el observador; en la producción de imágenes que imiten medios tradicionales como la pintura o la acuarela; y en la generación de imágenes que imiten dibujos animados, entre otras áreas. En esta memoria se diseña e implementa un marco de trabajo (framework en inglés) para Computación Gráfica que permite desarrollar técnicas NPR y de rendering tradicional. El diseño del marco de trabajo contempla el estudio de los puntos comunes de diferentes técnicas de NPR y de las áreas asociadas, y, siguiendo el paradigma de la Orientación a Objetos, define distintas componentes internas que pueden ser extendidas para implementar técnicas de NPR y de rendering tradicional. La implementación se realiza en el lenguaje de programación C++ utilizando bibliotecas de código abierto o compatibles con código abierto: se utilizan la biblioteca gráfica OpenGL y el lenguaje Cg para comunicarse con los procesadores de la tarjeta de vídeo (GPU). El marco de trabajo incluye técnicas ya implementadas: para el rendering tradicional se implementaron graficadores de Gouraud y de Phong, mientras que para las técnicas NPR se implementaron graficadores de dibujado animado (Cel-Shading) y de modelos de tonos (Gooch Shading). Se implementaron extractores de líneas de interés (Siluetas y Contornos Sugestivos), así como una clase abstracta que permite definir nuevos tipos de líneas a extraer. La demostración de estas implementaciones se realiza mediante una aplicación de prueba que permite cargar modelos tridimensionales estáticos y animados; los resultados obtenidos se muestran mediante imágenes de los modelos tridimensionales cargados en la aplicación de prueba. Finalmente se realiza una discusión sobre el trabajo futuro, sobre las posibles líneas de investigación a seguir en estudios de post-grado y sobre el uso del marco de trabajo para implementar técnicas de rendering no NPR. Se concluye que el marco de trabajo se puede utilizar para el desarrollo de técnicas NPR y de rendering tradicional, que su desempeño es adecuado para el rendering en tiempo real para escenas tridimensionales de tamaño medio y que puede ser utilizado en aplicaciones reales.