Closed3
Deferred RenderingとForward Renderingの違い

先に結論
Forward Renderingが適している場合
- 光源の数が少ないシーン
- 半透明オブジェクトが多いシーン
- 低スペックのハードウェアやモバイルデバイス向けのアプリケーション
Deferred Renderingが適している場合
- 多数の動的光源が存在するシーン
- 複雑なライティング効果を必要とするシーン
- 半透明オブジェクトが少ない、または存在しないシーン

Forward Rendering
- シーン内の各オブジェクトに対して、頂点シェーダで座標変換を行い、フラグメントシェーダでライティング計算を実行
- 各オブジェクトごとにライティングとシェーディングを行うため、実装が比較的シンプルであり、少数の光源や半透明オブジェクトが多いシーンに適している
- 多数の光源が存在する場合、各オブジェクトに対して光源ごとの計算が必要となり、パフォーマンスの低下が生じる可能性がある
Deferred Rendering
- 最初にジオメトリ情報(色、法線、深度など)をG-Bufferと呼ばれる複数のレンダーターゲットに書き込み、G-Bufferの情報を基にライティング計算をまとめて行う
- 多数の光源が存在するシーンでも効率的にライティングを処理でき、特にポイントライトやスポットライトが多いシーンで効果を発揮
- 半透明オブジェクトの処理が難しく、別途Forward Renderingで描画する必要がある点や、G-Bufferのメモリ使用量が増加する点に注意が必要
このスクラップは2025/02/12にクローズされました