Non-photorealistic Rendering

" NPR = Art Amplification not Artificial Art "

Ramesh Raskar
Now at Mitsubishi Electric Research Labs (MERL) , Cambridge, MA


Project Web Pages
Image Precision Silhouette Edges
Ramesh Raskar, Michael F Cohen, I3D 1999

Hardware Support for NPR
Ramesh Raskar, Graphics Hardware 2001

Cartoon Dioramas in Motion
Ramesh Raskar, Remo Ziegler, Thomas Willwacher, NPAR 2002

OR
Download Source Code for Older Version

Real time OpenGL NPR rendering of polygon soup without connectivity information


A few words about my approach.

Features such as silhouette edges, ridges, valleys and intersections of geometric primitives are useful in NPR i.e. technical illustrations and artistic effects. NPR is ideal for many graphics programs: from course projects that demonstrate 3D phenomenon (e.g. collision detection) and interactive visualization to serious technical illustrations. However, we still see many programmers using traditional APIs (which can produce geometrically correct but photometrically terrible images) even when photorealism is not the goal. I believe that a wide-spead use of even simple NPR techniques is lacking due to the following reasons:

  • Data structures do not support explicit rendering of edges, one needs to write significant code to identify edges, test whether they are silhouette/sharp and use two or more passes of rendering.
  • Standard API's (due to hardware limitations) do not support operations that work on two or more polygons at a time. Finding silhouettes/sharp edges involves global processing of neighboring polygons. There are (were) no 'single-polygon-at-a-time' processing algorithms to identify silhouettes/sharp edges.
My focus has been on dealing with these fundamental problems. The main contribution is techniques for real-time rendering of the features without requiring the connectivity information in polygonal scenes. E.g. how can we write simple programs where we can simply turn on or off the rendering of features ? Here is a desired sequence of API calls.
glEnable(GL_SILHOUETTE_EDGES); 
glEnable(GL_SHARP_EDGES); 
   render_object_triangle_soup();
glDisable(GL_SILHOUETTE_EDGES); 
glDisable(GL_SHARP_EDGES); 
In the papers below, you will find non-obvious but easy to implement techniques. It is surprising that such simple (although unconventional) techniques have not been proposed before (You will find a similar thread in my other projects, from Planar Immersive Displays, ShaderLamps to Free-form Sketching). The situation for NPR techniques here is similar to the classic case of brute-force z-buffer technique being preferred over other highly efficient visibility algorithms because the method does not depend on specific data structure and is easy to support in hardware. The papers include pseudo-code and the source is also available. Feel free to use parts of the code in your own projects, but please give credit to the paper. I will try to make the source code for my other papers available by June or July.
More details on
Image Precision Silhouette Edges

Hardware Support for NPR

OR
Download Source Code for Older Version


NPR papers
Image Precision Silhouette Edges
Ramesh Raskar, Michael F Cohen
Symposium on Interactive 3D Graphics, Atlanta GA, April 1999 

Hardware Support for Non photorealistic Rendering
Ramesh Raskar
Siggraph/Eurographics Graphics Hardware, 2002  


Other Papers and Projects

Cartoon Diorama in Motion
R Raskar, R Ziegler, T Willwacher

NPAR, Annecy, France
A Self Correcting Projector
R Raskar, P Beardsley

IEEE CVPR, Lihue, 2001
Shader Lamps
R Raskar, G Welch, K Low, D Bandyopadhyay

Eurographics Workshop on Rendering, London, 2001
Hardware Support for Non-photorealistic Rendering
R Raskar

Siggraph/Eurographics Graphics Hardware, LA, 2001
A Low Cost Projector Mosaic
R Raskar, J vanBaar, J Chai

ACCV
Interacting with Spatially Augmented Reality
R Raskar, K Low

ACM Afrigraph, 2001
Dynamic Shader Lamps: Painting on Real Objects
D Badyopadhyay, R Raskar, H Fuchs

IEEE ACM Int. Symp. on Augmented Reality (ISAR), New York, 2001
Image Based Visual Hulls
McMillan, Gortler, Raskar and others 
ACM SIGGRAPH 2000, New Orleans, July 2000
Projected Imagery in Your Office of the Future
G Welch, H Fuchs, R Raskar, M Brown, H Towles
IEEE Computer Graphics and Applications, November 2000 
Immersive Planar Displays using Roughly Aligned Projectors

R Raskar   
IEEE VR 2000, March 2000, NJ

Multi-Projector Displays using Camera-Based Registration
R Raskar, M Brown, R Yang, W Chen, G Welch, H Towles, B Seales, H Fuchs
IEEE Visualization 99, Oct 1999, San Francisco, CA

Tabletop Spatially Augmented Reality: Bringing Physical Models to Life using Projected Imagery
R Raskar, G Welch, W Chen
Second Int Workshop on Augmented Reality (IWAR'99), October 1999, San Francisco, CA  
Oblique Projector Rendering on Planar Surfaces
R Raskar
ACM Siggraph 99 Sketch 
Image Precision Silhouette Edges
R Raskar, Michael Cohen
Symposium on Interactive 3D Graphics, Atlanta GA, April 1999 
Efficient Image Generation for Multiprojector and Multisurface Displays
R Raskar, Matt Cutts, Greg Welch, Wolfgang Stuerzlinger
Ninth EuroGraphics Rendering Workshop,(Appeared in Drettakis, G., Max, N. (eds.), Rendering Techniques '98. Proceedings of the Eurographics Workshop in Vienna, Austria, June 1998
Seamless Projection Overlaps Using Image Warping and Intensity Blending
R Raskar, G Welch, Henry Fuchs
Fourth International Conference on Virtual Systems and Multimedia, Gifu, Japan. Nov 1998. 
Spatially Augmented Reality
R Raskar, G Welch, H Fuchs
First International Workshop on Augmented Reality, San Francisco CA, Nov 1998. 
The Office of the Future: Unification of Image-Based Modeling and Immersive Displays
R Raskar,G Welch, M Cutts, A Lake, L Stesin, H Fuchs,
ACM SIGGRAPH, Orlando FL, July 1998 
Augmented Reality Visualization for Laparoscopic Surgery
H Fuchs, M Livingston, R Raskar and others
First International Conference on Medical Image Computing and Computer-Assisted Intervention 1998. 
Simulation, Animation and Analysis of Design Disassembly for Maintainability Analysis
R Vujosevic, R Raskar, N Yetukuri
International Journal of Production Research, November 1995 
Incremental Path Generation for 6-DOF Robots
Ninth International Congress of Cybernetics and Systems, New Delhi, January 1993.