Version: 2019.1
関連トピック
リニアのワークフローとガンマのワークフロー

リニアレンダリング概要

Unity エディターでは、リニアの色空間同様、以前から使用されるガンマの色空間で作業することも可能です。ガンマの色空間は従来、標準形式である一方、リニアの色空間のレンダリングではさらに精密に描画できます。

レンダリングに関する詳しい情報は、以下のドキュメントを参照してください。

  • リニア、またはガンマ色空間の選択に関する情報は Linear or gamma workflow を参照してください。
  • リニアのワークフローでガンマテクスチャを使用するための情報は Gamma Textures with linear rendering を参照してください。
  • リニアのテクスチャを使用するための情報はLinear Textures を参照してください。

リニア色空間とガンマ色空間

人間の目は光の強度に対してリニアに反応しません。むしろ明るさに対し、より簡単に反応します。人間の目には、黒から白にリニアに進むグラデーションが、リニアなグラデーションのように見えないのです。

左 - リニアのグラデーション。 右 - 人間の目によるグラデーションのとらえ方。それぞれの例で、境目 (丁度真ん中のグレー) がグラデーションのどこに位置するかに注目してください。
左 - リニアのグラデーション。 右 - 人間の目によるグラデーションのとらえ方。それぞれの例で、境目 (丁度真ん中のグレー) がグラデーションのどこに位置するかに注目してください。

歴史的な理由で、モニターとディスプレイも同じ性質を持っています。モニターにリニアの信号を送ると上の右側の図のような結果となり、人間の目は単に誤った結果として映ります。これを補うために補正した信号を送り、モニターに自然な画像が映るようにします。この修正はガンマ補正として知られています。

ガンマとリニア両方の色空間が存在する理由は、数学上正しくあるために、ライティングの計算はリニア空間で行われますが、人間の目に正しく見えるようにするため、ガンマ空間で表示されるためです。

フレームバッファ形式が 8 ビット/チャンネルに制限されている古いハードウェアでライティングを計算する場合は、ガンマカーブを使用すると、人間が感知できる範囲をより精密にすることができます。人間の目がもっとも感知しやすい範囲に、より多くビットが使用されるためです。

最近のモニターはデジタルですが、入力には依然としてガンマでエンコードした信号を使用します。画像ファイルとビデオファイルは、明示的にガンマ色空間でエンコードされます (つまり、それらのファイルには、リニアな強さでなくガンマでエンコードされた値が保存されています)。これが標準で、すべてがガンマ色空間の情報です。

ガンマ色空間から取得した標準は sRGB (詳しくは ウイキペディア 参照) と呼ばれます。この標準は、リニア色空間へのマッピングを決定し、人間の目でほとんどの 8 ビット/チャンネルの精度を見られるようにします。下は、このマッピングの図です。

図は Wikimedia より転載
図は Wikimedia より転載

リニアレンダリングとは、人間の目で見たりディスプレイに出力するためのガンマ補正をしないで、すべての入力をリニアにレンダリングするプロセスを指します。

関連トピック
リニアのワークフローとガンマのワークフロー