ディファードシェーディング

一般にフォワードレンダリングを使用する場合はライティングの計算結果をターゲットバッファーにレンダリングするが、ディファ―ドシェーディングではマテリアル情報を複数枚のバッファーから構成されたジオメトリバッファー (G-Buffers) に格納しておき、ライティングパスで専用のシェーダーを用いてライティングの計算を実行する。

(出典LIGHT11

公式サイト:

ディファードシェーディングレンダリングパス | Unity マニュアル [公式]

参考:

Deferred Shading でライトを贅沢に使いたい!基本的な概念の説明とメリデメを考察 | LIGHT11

使い方

「Project Settings > Graphics」を開き、「Tier Settings」で各 Tier の「Use Defaults」を解除して「Rendering Path」を Deferred に切り替える。

参考:

ビルトインレンダーパイプラインのレンダリングパス | Unity マニュアル [公式]

概要

参考:

Forward レンダリングと Deferred レンダリングの違いを軽くまとめてみた – Qiita

Deferred Shading についてまとめてみた | しゅみぷろ

メリット/デメリット

(出典LIGHT11

メリット
  • 複数の光源の影響を正確に計算できる。
デメリット
  • 半透明のオブジェクトはフォワードレンダリングで描画される。
  • ビルトインのアンチエイリアス (MSAA) が使用できない。
  • Mesh Renderer 毎に影を無効化できない。

ライティング

参考:

Deferred Shading でライトを贅沢に使いたい!基本的な概念の説明とメリデメを考察 | LIGHT11

ドット絵を処理する

参考:

邪道な Deferred の使い方で苦しんだ話 – Qiita

Command Buffer

参考:

Unity 5 の Command Buffer を利用したレンダリングパイプラインの拡張について調べてみた | 凹みTips

Unity の Deferred で Command Buffer を利用して GBuffer をいじってみる | 測度ゼロの抹茶チョコ

ビルトインレンダーパイプラインをコマンドバッファで拡張する | Unity マニュアル [公式]

Extending Unity 5 Rendering Pipeline: Command Buffers | Unity Technologies Blog [Official]

i-saint

リポジトリ:

i-saint/DeferredShading – GitHub

参考:

Deferred Shading in Unity | primitive: blog

Temporal Screen Space Reflections | primitive: blog

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA