リニア ワークフローは、シェーディング、ライティング、レンダリングの手法の 1 つで、sRGB などの非リニア ビデオ値を直接使用する方法と比べて多くの利点があります。カラー管理は、入力、レンダリング、表示、出力に使用される異なるカラー スペース間でカラーを適切に変換することで、リニア ワークフローを可能にします。
カラー スペースは、プライマリ コンポーネント、および白色点、エンコーディング、その他のアトリビュートに関して、明確にカラーを指定します。たとえば、Web ページの sRGB イメージに使用されるプライマリの赤、緑、青の値は、P3 デジタル シネマ プロジェクタで使用される値と異なり、Web およびシネマ表示の周囲光の条件も異なります。ただし、sRGB と DCI-P3 の両方のカラース ペースのキャラクタライズが優れているため、標準モニタとプロジェクタのどちらに表示する場合もカラーを正確に変換することができます。ただし、(0.5, 0.25, 0.25)のような RGB トリプレットを正しく解釈するには、その目的のカラー スペースを把握しておく必要があります。
最新のレンダラーは、実世界における光の透過、吸収、反射、屈折を模倣します。したがって、3D シーンの光は、屋外でもスタジオ内でも実際のライティングとほぼ一致します。カラー値は光のエネルギーの量に直接比例します。これは、シーン参照リニア作業スペースまたは略してシーンリニアと呼ばれます。このようなカラー スペースでは、輝度の最大値はありません。(1.0, 1.0, 1.0)は、ライティングに完全に適応した一般的なオブザーバによって「白」と見なされるカラーですが、光源とスペキュラ反射はかなり明るくなります。
ただし、表示デバイスには輝度の最大値があり、8 ビット整数値として表現した場合(1.0, 1.0, 1.0)または(255, 255, 255)で示されます。この最も明るい値は、高ダイナミック範囲デバイスでも、実世界で発生する最も明るい色ほど明るくはありません。このため、シーンの高ダイナミック範囲の値をより限定された表示範囲にマップする必要があります。表示範囲に合わせてカラー値をスケーリングするだけで、不快で「くすんだ」外観のイメージが得られます。必要なのは写真応答を含むトーンマップです。
レンダリングには、高いダイナミック範囲だけでなく、色域の広いカラー スペースを使用することが望ましい場合もあります。これにより、より多くのカラーを表現できるようになります。これは、sRGB や HDTV (Rec.709) よりも広い色域を持つデジタル シネマや HDR TV のコンテンツを作成する際に特に重要です。
テクスチャの入力として使用されるイメージの場合、イメージが保存されたカラー スペースからレンダリング スペースに変換するためにトランスフォームが必要になることがあります。
作業中、便利なプレビューを表示するには、レンダリング スペースのカラーを変換する必要があります。通常は最終イメージの正確なプレビューが必要ですが、診断のために別のビューを使用することもできます。
最終的なレンダリングでは、ファイルの使用方法に応じて出力トランスフォームを適用することができます。
テクスチャなどの入力イメージを処理する適切な方法は、イメージがシーン内でどのように使用されているかによって決まります。また、適切な方法はイメージそのもの、現在のカラー スペースやエンコーディング、イメージの状態(カラー値がシーン参照輝度値と表示参照輝度値のどちらに比例しているか)などによっても異なります。
非カラー データに使用されるイメージに適用されるトランスフォームはありません。バンプ マップ、法線マップ、ディスプレイスメント マップ、その他のアトリビュート(半透明性、鏡面反射性、反射率など)で使用されるマップなどがこれに含まれます。
最初の手順では、シーンで参照される値をディスプレイで参照されるスペースに変換します。たとえば、トーン マップを使用して、高いダイナミック範囲から[0.0, 1.0]レンジにカラーを変換したり、原色を変更したりする場合があります。
2 番目の手順では、特定のディスプレイ用に値を変換します。原色、適切なガンマ、および適切な整数値としてのエンコーディングを別途変更する場合があります。
イメージは通常、屋外のシーンや明るい照明のムービー セットよりもはるかに暗いライティング条件で表示されるため、トーンマップを使用し、好ましいイメージを生成する写真応答によって高ダイナミック範囲の値を表示範囲に圧縮します。通常トーン マップは、低いダイナミック範囲や暗い表示条件を補うために、コントラストと彩度を上げる S 字型のカーブを適用します。また、表示スペースにより明るいハイライト用のスペースを残すため、レンダリング スペースの 1.0 の値をより小さい値にマッピングします。
表示用のシーンリニアを完全に準備するには、ガンマを適用するだけでは、不十分です。トーン マップを使用しないと、1.0 を超えるカラー値は 1.0 を超えたままとなり、モニタによってクリップされます。