In the new generation of gaming hardware, lighting and shadows in graphics engines have become much more dynamic. For many types of games, it is no longer acceptable to pre-compute any kind of visual lighting or shadowing information that is presented to the player. This session discusses solutions to the problems that arise when implementing a graphics engine that supports a completely dynamic and unrestricted lighting environment. Topics include data structures, algorithms, mathematics, and optimizations that can be applied to a generic scene graph to efficiently determine vital information such as the set of light sources affecting the visible scene and the set of objects that cast shadows into visible regions. The methods presented are independent of shading systems and shadow rendering techniques.