Description
Project description

Publications
Papers, Journals

Additional Data
Snapshots, videos

Download Area
Source code

Team
Project members

 

Non-Photorealistic Rendering in Augmented Reality Environments

Description
 

In modern computer graphics, most research effort has been put into the creation of photorealistic images, which
resemble the real world as much as possible. Nowadays, it is often impossible to distinguish between a real-world image
and a digital creation. In contrast to this, the field of non-photorealistic computer graphics is comparatively young.
One of its goals is to digitally reproduce the creative techniques of classic art forms. The goal of this project was to
combine Augmented Reality technology with NPR techniques. Our framework is based on ARToolKit and includes
actually three rendering techniques:

  • Painterly renderer
  • Toon shader
  • Gooch shader

Painterly renderer

A method for rendering animation in a painterly style, which was first presented in [Meier, B. J.: Painterly Rendering
for Animation. In: Proceedings of SIGGRAPH 96, p. 477-484, 1996] , is the basis of this shader. While previous
algorithms only worked for still frames, the new method successfully extends them to be applicable in animations.
This is achieved mainly by two techniques: organizing brush strokes in particle systems and the use of reference
pictures to compute their properties. The result is a frame-to-frame coherence, which is a requirement of animation.
Modern 3D hardware should make it possible to achieve this effect in real-time applications. Proving
this statement is the main goal of this thesis. The possibility to send instructions to the graphics card and compute
them either per vertex or per pixel allows both the rendering of thousands of brush strokes per frame, and the
correct application of their properties. Programming the graphics hardware is done with Cg, a high level shading
language. Fast access to reference pictures is achieved by using OpenGL extensions that allow direct rendering
to textures. A closer description of this algorithm including some downloads can be found Daniel's website.
Daniel implemented a very cool framework (called NPAR) which was the base for the second prototype, called
Vincent. Vincent is a NPR framework that combines ARToolKit (marker detection framework), Cg, and other
nice loaders (e.g. Lib3DS, RenderTexture, etc.).

Toon shader

The objects are rendered with a constant, sharply delineated color with an outline of the object. In our case
we replace diffuse and specular lighting colors with a two-valued step function, where the values are
calculated by using a 1D texture as a lookup table.

Gooch shader

Instead of using Phong shading, Gooch involves a so-called warm/cold factor into the
formula. Consequently, we get the following formula: I = ((1+l*n)/2)*Kcool + (1- ((1+l*n)/2)*kwarm

Publications

     

Photorealism or/and Non-Photorealism in Augmented Reality , Haller M., In ACM SIGGRAPH
International Conference on Virtual Reality Continuum and its Applications in Industry, VRCAI
2004, pp. 189- 196,
Singapore.

 
     

Real-Time Painterly Rendering for MR Applications , Haller M., Sperl D., In International
Conference on Computer Graphics and Interactive Techniques in Australasia and South
East Asia, Graphite 2004, pp. 30 - 38, Singapore.

 
     
Künstlerisches Rendering für Echtzeit-Applikationen, Sperl D., Master Thesis,
Upper Austria University of Applied Sciences, Media Technology and Design,
Hagenberg, 2003.
 


Additional Data

   

The original algorithm of Barbara Meier has been modified to achieve real-time performance. The first figure
shows the modified pipeline.

 
Nice results of NPAR: Different base shaders results in different final painterly renderer results.
Some results of Vincent: Isn't it cool to see the "Bedroom in Arles" in 3D?
Additional results of Vincent: Which renderer should be used in AR? Very nice results are achieved
by using the Gooch renderer (last two figures)
   
Download the videos related to Vincent. Using ARToolkit and an AR environment is a really stressful
testing environment for your algorithm!
 

Download Area

   

NPAR (Framework by Daniel Sperl)

 

Vincent (NPR + ARToolKit + Cg) - Coming soon!

Team