ABSTRACT

This chapter presents Forward+, a rendering pipeline that adds a Graphics Processing Unit (GPU) compute- based light-culling stage to the traditional forward-rendering pipeline to handle many lights while keeping the flexibility for material usage. It also presents the implementation detail of Forward+ using DirectX 11, and its performance. The chapter describes how the Forward+ rendering pipeline is extended to use an indirect illumination technique in the AMD Leo Demo. It also describes how ray casting can be integrated in Forward+ to add shadows from hundreds of lights and show that a perfect shadow from hundreds of lights can be obtained in real time. Whereas light culling creates the list of lights overlapping each pixel, final shading loops through the list of lights and evaluates materials using material parameters describing the surface properties of the rendered object along with information stored for each light. The chapter explains a light-culling implementation that works well for a scene with thousands of lights.