Real Time Shadows for Animated Crowds
in Virtual
Cities
Céline
Loscos, Franco
Tecchia,
Yiorgos Chrysanthou
University College London, Gower
Street, London WC1E 6BT
In this paper, we address the problem of shadow computation for large environments including thousands of dynamic objects. The assumption of the method is that the model is 2.5D, which is often the case for virtual cities. We propose a method which exploits this property, avoiding complex visibility computation. We apply our method for virtual cities populated by thousands of walking humans, which are rendered in our case with impostors, allowing real time simulation.
In this paper, we treat the cases of shadows cast by buildings on humans, and by humans on the ground. To avoid 3D computation, we represent the shadows cast by buildings onto the environment with a 2.5D shadow map. When humans move, we quickly access the shadow information at the current location with a 2D grid. For each new position of the human, we compute the coverage of the human by the shadow and we display it with low cost using multi-texturing hardware. We also use the property of impostor to display the shadow of humans on the ground plane, by projecting the impostor relatively to the light source.
The method is currently limited to sharp shadows and a single light source. However approximations could be made to allow non-accurate soft-shadows. We show in the result that the computation of the shadows as well as the display is done in real time, and that the method could be easily extended for real time moving light sources.
Keywords: Shadow computation, dynamic shadows, real time rendering, populated virtual cities, multi-texturing.
Images: Method
Shadow volume map. |
Shadow textured impostor. |
Images: Results
Simulation with no shadows |
Simulation with shadows |
Closer view |
Light direction almost at the vertical above the model. |
Light direction at the diagonal. |
Light direction almost parallel to the ground.(10.000
humans) |
Videos
All videos are encoded with MPEG4 better known as DivX and
are recorded in real time and full screen
, on a PC Intel Pentium
III 833MHz with an NVIDIA GeForce GTS2 64MB. A DivX codec can be found at http://www.projectmayo.com/ .