Choosing forward, deferred, or Forward+ rendering
本文尚无中文版本;显示原文。
Choose a lighting architecture by its material, light-list, bandwidth, transparency, and antialiasing costs rather than by its name.
目录
Start with the workload
A rendering architecture determines when visible surfaces receive lighting and which intermediate data must survive. Choose it against representative scenes: a small interior, a crowded night street, and a view dominated by glass can stress different resources. Count overlapping lights and shaded pixels, not only lights placed in the level.
Separate the three mechanisms
Forward rendering evaluates material and lighting together. Deferred shading first stores opaque surface attributes in a G-buffer, then lights those attributes; extra storage and material representation become architectural concerns. Transparency commonly needs a separate path, and multisample antialiasing (MSAA) requires additional care. [1][3]
Forward+ retains forward material shading but constructs spatial light lists, often using compute-generated screen tiles. Fragments then evaluate candidate lights from their tile. AMD's sample provides an original implementation of this division of work. [2]
Work through a bandwidth estimate
Consider an illustrative 1920 × 1080 G-buffer storing 16 bytes per pixel. One complete image occupies 33,177,600 bytes, about 31.6 MiB, before depth, multisampling, or auxiliary buffers. One full write and one full read at 60 frames per second represent about 3.98 GB/s of logical traffic.
This arithmetic is a planning estimate, not measured external-memory bandwidth: compression, caches, tile-local storage, and extra passes change actual traffic. Use it to ask whether an additional material channel justifies its cost. For Forward+, make a corresponding estimate for tile headers, light indices, and overflow handling.
Run a controlled comparison
Keep resolution, lights, materials, shadow quality, and exposure identical. Capture GPU timings for depth preparation, list construction, opaque shading, transparency, and resolves. Record list-length distributions as well as the worst tile; an average can hide a bright intersection.
Include a camera moving through particles and glass. If lists use opaque depth bounds, explicitly verify that transparent fragments retain every relevant light. Visualize candidate counts and force the capacity limit to confirm that overflow produces a defined fallback rather than missing illumination.
Recognize the boundaries
A light list reduces irrelevant lighting work; it does not automatically reduce shadow rendering, material complexity, or transparency overdraw. Deferred MSAA is possible, but preserving and shading sample information has costs. [1][3]
Treat the choice as a measured budget decision. A hybrid can be appropriate, but every additional path increases shader maintenance and image-matching work. Document the scenes that justified the decision and repeat the comparison when the content mix changes.
Sources
- [1] Forward, Forward+, and Deferred — Khronos Group.
- [2] ForwardPlus11 sample — AMD GPUOpen.
- [3] Deferred Shading in Tabula Rasa — Rusty Koonce, NVIDIA GPU Gems 3.
范围与依据
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
知识截至:2026-10-11。状态:unreviewed(无已记录的审阅)——编辑会重置审阅状态。请将文本视为未经核实的参考资料并核对来源。
来源
- Forward, Forward+, and Deferred — Khronos Group — 2026-10-29 无法检查:该网站不允许自动检查(HTTP 403)
- ForwardPlus11 sample — AMD GPUOpen — 2026-10-11 已检查:可访问
- Deferred Shading in Tabula Rasa — Rusty Koonce, NVIDIA GPU Gems 3 — 2026-10-12 已检查:可访问
署名与许可
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
最近更改: Original source-based game-development article.
原创贡献: CC BY 4.0. 链接的来源资料保留其自身权利。