El Rendering No Fotorrealista, o NPR (Non Photorealistic Rendering), es una aplicación
del proceso de rendering tradicional que busca generar imágenes con algún grado de
abstracción. Una técnica puntual de NPR es la de Hatching, o achurado. El achurado es
una técnica de pintado a mano alzada que utiliza trazos de líneas para graficar un objeto.
La dirección de las líneas abstrae la forma de éstos, mientras que la cantidad de ellas,
denominada densidad del achurado, permite interpretar la intensidad de la iluminación a
través de la superficie del objeto.
La técnica de achurado que se aborda en esta tesis, propuesta por Praun, Hoppe, Webb
y Finkelstein en SIGGRAPH 2001 en un artículo llamado “Realtime Hatching”, solamente
está definida para modelos 3D estáticos, por lo que para modelos animados la deformación
de la geometría no es considerada en el algoritmo. Esta tesis aborda esa problemática:
se propone mejorar esa técnica de achurado, extendiéndola para ser aplicada en objetos
animados.
La elección del algoritmo mencionado se justifica en la tesis a través de una revisión
bibliográfica. También se detalla la implementación realizada de dicho algoritmo, se
especifican las componentes del sistema y se muestran las herramientas de software libre
utilizadas: OpenMesh como estructura de datos base, Eigen como biblioteca de álgebra
lineal y trimesh2 como apoyo para el cálculo de curvaturas y direcciones principales en la
superficie.
Luego de implementar el algoritmo original, se estudia su extensión para ser aplicado
a un modelo 3D que presente animación. Ya que el algoritmo de achurado no está
definido para objetos animados, la tesis estudia y define lo que se puede denominar
como comportamiento correcto del achurado en modelos animados. Así, se presentan las
extensiones necesarias para que el algoritmo de achurado funcione correctamente con
modelos animados, junto con detalles de implementación de dichas extensiones. Además,
se muestran resultados de la aplicación del algoritmo a conjuntos de datos de animación
de captura de movimiento de personas. Estos resultados tienen una apariencia visual
satisfactoria respecto a la definición de achurado y presentan un rendimiento adecuado
para animaciones en tiempo real, al superar los 60 cuadros por segundo en su renderizado.
Finalmente, se realiza una discusión en la que se comentan los resultados del
algoritmo, en particular sus cualidades y limitantes. Entre sus cualidades se encuentra
un planteamiento sencillo y fácil de entender que permite obtener resultados correctos.
Entre sus limitantes se encuentra su aplicabilidad a objetos que mantienen una topología
constante durante animaciones y el hecho de funcionar con animaciones preconcebidas,
no con animaciones arbitrarias producto de interacción con el usuario. Sin embargo, estas
limitantes son analizadas y se proponen diferentes alternativas para enfrentarlas como
trabajo futuro.