Home | Download | Implementation Notes | Screen Shots | Contact


Shadows are very important to games since they provide additional depth cues and further enchance the realism. There are two types of shadows:
  • Hard Shadows, produced by point light source and characterized by the sharp boundary between the region inside the shadows and the region outside the shadows.
  • Soft Shadows, produced by area light source and have a smooth transition from the region inside the shadow to the region outside the shadow.
The shadows that we see everyday are soft shadows. Therefore, to bring more realism to games, it is better to have soft shadows.

Years of research have brought us to invent shadows algorithm for both hard shadows and soft shadows. Our algorithm for hard shadow is called Trapezoidal Shadow Map (TSM) whereas we utilize Jump Flooding Algorithm (JFA) to generate soft shadows. Below are the links to the papers/project homepages:
  • Anti-aliasing and Continuity with Trapezoidal Shadow Maps, project homepage
    T. Martin and T.S. Tan.
    The 2004 Eurographics Symposium on Rendering, 21-23 June, Norrköping, Sweden, pp. 153--160, pp. 412.
  • Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform, project homepage
    G.D. Rong and T.S. Tan.
    The 2006 ACM Symposium on Interactive 3D Graphics and Games, 14-17 March, Redwood City, CA, USA, pp. 109--116, pp. 228.
  • Utilizing Jump Flooding in Image-based Soft Shadows, project homepage
    G.D. Rong and T.S. Tan.
    The 2006 ACM Symposium on Virtual Reality Software and Technology, 1-3 November, Limassol, Cyprus, pp. 173--180.
  • Variants of Jump Flooding Algorithm for Computing Discrete Voronoi Diagrams, project homepage
    G.D. Rong and T.S. Tan.
    The 2007 International Symposium on Voronoi Diagram in Science and Engineering, 9-12 July, Pontypridd, Wales, UK.


This project is supported under grant R-252-000-259-720 from Microsoft Research Asia.
In this website
download the demo binaries & source codes
Implementation notes
some comment on programming in XBOX360, it might be useful for OpenGL programmers
Screen Shots
the name says it all
(C) Copyright 2007 National University of Singapore - Department of Computer Science - School of Computing
Design by Infinite Pixel Studio - Special Thanks to Eddy - Last Update: June, 2007