差分

ナビゲーションに移動 検索に移動

遅延レンダリング

1,729 バイト追加, 2020年4月8日 (水) 05:21
ページの作成:「'''遅延レンダリング'''(英語:Deferred Rendering)とは、3DCGにおいて、物体の描画とライティングを別々に行う技法である…」
'''遅延レンダリング'''([[英語]]:Deferred Rendering)とは、[[3DCG]]において、物体の描画とライティングを別々に行う技法である。こいつの登場により従来型のレンダリングは「[[フォワードレンダリング]]」と呼ばれるようになった。

== 概要 ==
遅延レンダリングではシーンの中に[[ポイントライト]]などを多数配置しても[[ドローコール]]が増えないという特徴がある。

[[フォワードレンダリング]]での[[ドローコール]]数は以下のようなモデルとライトの掛け算である。
ドローコール数 = モデル数 x ライト数

一方、遅延レンダリングでは以下のような感じになる。
ドローコール数 = 初期化x3 + モデル数x3 + ライト数

太陽光など[[平行光源]]が1個しかない状況では[[フォワードレンダリング]]の方が有利だが、
街頭などの[[ポイントライト]]が何個もある状況では遅延レンダリングの方が有利である。


2000年代中頃あたりに夜中に作戦行動する[[右下から銃の生えたゲーム]]で大流行した。

== 手順 ==

=== 1. Clear GBuffer ===
Color, Normal, Depthなどからなる「GBuffer」を初期化する。

=== 2. Draw GBuffer ===
GBufferに描画する。この時点ではまだライティングは行わない。描画時にライティングを行わないから「遅延レンダリング」という。

=== 3. Lighting ===
GBufferと各種ライトを掛け合わせて「ライティング結果」を生成する。

=== 4. Combine ===
GBufferとライティング結果を合成して最終的な絵が完成する。

案内メニュー