Real-Time NPR Framework

The non-photorealistic rendering is focused, unlike the traditional rendering, on simulating artistic media or digital art such as drawing, painting, technical illustration, etc. For my final project of the Technical Engineering in Computer Management degree (2008) I implemented this application that allows the visualization of tridimensional models in real-time using different techniques of non photorealistic painting. The implemented techniques in this application were the following:
  • Toon Shading: This technique uses a few colors to represent the object lighting providing an illustration appearance to the image.
  • Pencil simulation: This technique is used to apply a sketch aspect to an image.
  • Painting and texturing of silhouettes: Highlighting the model silhouette increases the information provided to the user about the shape of the model and highlights the object, supplementing it with another painting technique.
  • Post-process to simulate the paper: By applying this technique is possible to generate in the user the feeling of viewing a drawing made on paper.

The application is written in C++ using the Microsoft MFC library for the graphic interface, DirectX as graphics api and HLSL as a language of shaders. Besides the development work itself, this project generated an additional research work with which it was developed a new silhouette painting technique and improved a pencil simulating technique using the Geometry Shader. The two articles associated to this project are the result of this work.



NPR Effects
NPR Effects Using the Geometry Shader.
Single Pass GPU Stylized Edges
Contours detection and texturing using the Geometry Shader.


NPR techniques using the Geometry Shader (Amazon)
P. Hermosilla & P.-P. Vázquez - GPU Pro (aka ShaderX 8) 2010.
Single Pass GPU Stylized Edges (Pdf)
P. Hermosilla & P.-P. Vázquez - SIACG 2009.