リニアワークフロー

DOKI for Shade3Dは、リニアワークフローでレンダリングを行います。
マテリアルなどで参照される「色」は、モニタで見ている状態は「ノンリニア」な状態です。
また、マテリアルや背景画像として参照される「テクスチャイメージ」は、jpeg/pngなどの状態は「ノンリニア」な状態です。
hdrやexrなどのダイナミックレンジを持つファイルフォーマットの場合は「リニア」な場合が多いです。
また、法線マップのテクスチャは色ではなく1ピクセルに法線ベクトルを押し込んでいる構造になるため、テクスチャイメージそのままの状態でリニアとして扱います。

linearworkflow_img.jpg

ノンリニアの画像はモニタで見たときにちょうどよい色合いになり、それと比較するとリニアの画像は若干暗くなります。
linearworkflow_img_00.jpg

ここでは、モニタで表示され目に見えている状態をsRGBとしています。
DOKI for Shade3Dではリニア変換する際に、ガンマ2.2の逆変換を行っています。
sRGBとガンマ2.2は同一ではないですが、これは入力と出力共にShade3Dの色補正の「ガンマ」で指定できる要素に合わせるようにしました。

このように、レンダリングに渡す素材は「リニア」「ノンリニア」が混在しているため、
色や画像についてはいったんすべて「リニア」で扱うように変換し、レンダリングはすべてリニア空間で行います。
レンダリング結果はモニタに表示することになるため、ここで「ノンリニア」に変換します。
このような色空間の変換の流れを「リニアワークフロー」と呼びます。
フォトリアルなレンダリングを行う場合は大事な概念となります。

DOKI for Shade3Dでのリニアワークフロー

ベースカラー色(Shade3Dでの拡散反射色)や発光色などのあらゆる「色」情報は、レンダラに渡す際に逆ガンマ2.2の補正を行ってリニア変換します。

テクスチャイメージを使用している場合はDOKIのレンダリング設定の「イメージのガンマ指定を考慮」チェックボックスにより、
内部のリニアワークフローの処理が変わります。
デフォルトはOffになっています。
linearworkflow_img_02.png

「イメージのガンマ指定を考慮」チェックボックスがOffの場合は、自動でリニアワークフローが行われます。
ベースカラーのテクスチャはレンダラに渡す際にsRGBとして渡します。
sRGBとして渡されたテクスチャは、レンダラ内でリニアに変換されてレンダリングが行われます。
「イメージのガンマ指定を考慮」チェックボックスがOnの場合は、
ベースカラーのテクスチャはレンダラに渡す際にShade3Dのマスターイメージの「ガンマ」を考慮した補正が行われ、DOKIに渡す際はそのままリニアとして渡します。
linearworkflow_img_03.png

この場合は、テクスチャごとに個々に(手動で)リニアかノンリニアか判断してガンマ調整できることになります。

それ以外のメタリック/ラフネス/法線マップなどはそのままリニアとして渡します。