Realtime Shadows and Lighting Project Description
The general idea is to investigate the methods of simulating
shadows and lighting, and evaluate their use in realtime systems
for current mass-consumer level hardware, like the Nvidia's Riva TNT
chipset.
Motivation:
Shadows add depth and realism to any graphical application.
But in many instances, maintaining a 'realtime' update is more
important. What can be added to the experience w/o hopelessly
bogging down current hardware? What algorithms are most easily
extended to more complex scenes that will enter the realm of
'realtime' in the future?
Methods that look promising for implementation:
- Shadow Volume (using the stencil buffer)
- 'Shadow Mask Sweep' and variants
- Z-Buffer Algorithms (I don't know if these can be hardware accelerated easily..)
Evaluating criteria for shadow methods:
(in order of decreasing importance)
- Speed
- Should handle:
- Stationary Lights, Static Worlds
- Moving Lights, Static Worlds
- Moving Lights, Dynamic Worlds
- Accuracy of shadows, across non-trivial surfaces
- Lighting projections (semi-transparent surfaces project images)
- Soft shadow approximation
- Simple reflection
The system used for development and evaluation:
- Intel Pentium II 450
- 128 MB RAM
- STB Velocity 4400 (TNT chipset), 16 MB
- Windows NT 4.0
- Microsoft Visual C++ 6.0
- SGI's OpenGL for Win32
Back to the main page