“Forward+: Bringing Deferred Lighting to the Next Level” by Takahiro Harada, Jay McKee, and Jason C. Yang (AMD):


🔧 Overview

Forward+ is a hybrid rendering technique that combines the flexibility of forward rendering with the scalability of deferred lighting. It introduces a GPU-based light culling stage to efficiently handle scenes with many dynamic lights, overcoming the limitations of both traditional forward and deferred rendering.


🧱 Motivation

Limitations of Traditional Techniques:

Goal:

To create a rendering pipeline that:


🛠️ Forward+ Pipeline

Forward+ extends the forward rendering pipeline with a light culling stage using GPU compute shaders. The pipeline consists of:

  1. Depth Prepass:
    • Renders scene depth to reduce overdraw.
    • Essential for minimizing cost in final shading.
  2. Light Culling:
    • Screen is divided into tiles (e.g., 16×16 pixels).
    • For each tile, a list of overlapping lights is computed.
    • Implemented entirely on the GPU using compute shaders.
  3. Final Shading:
    • Each pixel accesses the list of lights for its tile.
    • Full material and light data are available for accurate shading.

💡 Light Culling Techniques

Two GPU-based implementations are described:

1. Gather Approach:

2. Scatter Approach:


📊 Performance & Memory Analysis

Theoretical Memory Traffic:

Key Formula:

To determine when Forward+ is more efficient:

\[M < 15 \cdot \frac{1 + (1 + L)T}{T}\]

Where:

Experimental Results:


🎯 Advantages of Forward+


🔮 Future Work