トーンマップとDenoise

トーンマップ

DOKIのレンダリング設定で「トーンマップ」の調整を行うことができます。
rendering_setting_03.png

「露出」はカメラの露出値の指定です。値が大きいほどレンダリング結果が明るくなります。
「コントラスト」で輝度の明暗の差を調整します。値が大きいほど明暗が大きくなります。
「ハイライト圧縮」でハイライト部分の補正を行います。
「中間レベルのアンカー入力」「中間レベルのアンカー出力」は中間値のレベル補正で使用されます。
「中間レベルのアンカー入力」を小さくすると明るくなり、大きくすると暗くなります。
「中間レベルのアンカー出力」を小さくすると暗くなり、大きくすると明るくなります。
「HDRの入力最大」はクリップされないHDR入力の最大値です。
「ACES」はACES(Academy Color Encoding System)の近似を使用するかの指定です。

これらは、OSPRayの「Tone Mapper」のパラメータとしてそのまま渡しています。
OSPRayのドキュメントの「Image Operation」もご参照くださいませ(英語)。

http://www.ospray.org/documentation.html#image-operation

Denoise (ノイズ除去)

「Denoise」はAIを使ったノイズ除去で、レンダリング工程で発生する高周波ノイズを平滑化します。

「Denoise」を使用しない場合は、以下のように高周波ノイズが見える状態です。
denoise_01.jpg

「Denoise」を使用すると、レンダリングの最終工程でノイズ除去が行われます。
denoise_02.jpg
このDenoise処理は時間がほとんどかかりません。
そのため、レンダリング時間を消費することなく高品質なレンダリング結果を得る場合に大変重宝します。

室内シーンのような間接照明が充満するシーン、局所的な強い光が存在するシーンの場合は、
レンダリング時のサンプリング数が十分でないとDenoiseをかけると「眠くなる」状態になります。
その場合は、サンプリング数を上げる必要が出てきます。

後処理とクランプ

上記で説明した「トーンマップ」と「Denoise」は、レンダリング工程では最後に行われる「後処理」(Post processing)に相当する作業になります。
レンダリング自身はHDRとしてダイナミックレンジを持った状態で行われますが、
これらの後処理を行うと最終的なレンダリング結果のピクセル値は0.0 - 1.0の範囲にクランプされてしまいます。
「クランプ」は0.0以下を0.0、1.0以上を1.0と指定する処理です。
そのため、Shade3Dからhdrやexrで出力して他のペイントツールで露出調整、などの作業には向かないです。

Shade3Dの「色補正」含めたレンダリングの流れは以下のようになります。

OSPRay : レンダリング    
   ↓
OSPRay : トーンマップ
   ↓
OSPRay : Denoise
   ↓
Shade3D : 色補正

Denoiseはトーンマップ処理の後で行われるため、露出などの調整はOSPRayのトーンマップ工程で行う必要があります。
Shade3D側の色補正で「ゲイン」を調整して露出を調整する場合はHDRではないレンダリング画像に対して行われるので、正しい結果にはなりません。
Shade3Dの色補正では「ガンマ」以外の調整はしないほうがよいかもしれません。