ラジオメトリック単位またはフォトメトリック単位でレンダリングしますか?


10

従来のレンダリングでは、すべての計算を、完全なスペクトルレンダリングとして、またはコンポーネント単位(XYZ、RGBなど)として、放射測定単位で行うのが一般的です。

ただし、最新のレンダリングでは、より物理ベースのモデルが追加されるため、アーティストは、たとえばルーメン内の光の強度など、より一般的な測光単位で値を指定できるので便利です。

ここに画像の説明を入力してください

パイプラインをすべて1つのタイプのユニットに維持するには、次のいずれかを実行できます。

  1. 発光効率を使用して、フォトメトリック単位をラジオメトリック単位に変換します
  2. レンダリングパイプライン全体をフォトメトリック単位に保つ
    • セバスチャン・ラガルドは、彼のSiggraph 2014プレゼンテーションの「フロストバイトをPBRに移動」のコースノートでこのアイデアを非常によく示しています。

私の質問はこれらです:

  1. フォトメトリック単位でのみレンダリングすることに不利な点はありますか?
    • 私が知る限り、測光ユニットは人間の目に偏った放射測定ユニットにすぎません。最終的な画像を目で確認することを考えると、これは問題ではないと思います。
  2. Frostbiteは、RGBコンポーネント単位のエンジンです。スペクトルレンダラーには、フォトメトリック単位のみでレンダリングすることによる追加の欠点がありますか?

回答:


9

光度の単位を、光の明るさを設定するための全体的な尺度として使用するのは問題ありません。ただし、注意が必要な技術的な微妙な点があります。昨年この件について書いたブログ投稿から引用します。

RGB画像では、当社のディスプレイデバイスが測光よりも放射測定で動作することを認識することが重要です。赤のピクセル値が255、緑のピクセル値が255の場合、画面上のピクセルによって生成される放射束(ワット)ほぼ等しく、光束の量は等しくありません。同様に、デジタルカメラは、光束ではなく、放射束に対応するピクセル値をキャプチャします。

そのため、画像をグレースケールに変換するとき、またはピクセルの明るさを計算するときに、知覚的に正確な結果を得るために輝度係数を使用する必要があります。また、RGB画像のレンダリングは、測光単位よりも放射単位で自然に進行することも意味します。

言い換えると、測光ユニットの波長依存性は、予想されるものとは異なります。通常のRGBカラースペースでは、白は(1、1、1)であり、放射スペクトルはほぼフラットです。しかし、想定される「フォトメトリックRGB」では、(1、1、1)は白ではありません。紫がかった色で、緑の範囲ではエネルギーが少なく、赤と青の範囲ではエネルギーが多くなります。同様の問題は、すべてのビンを波長依存の光度測定単位で測定しようとするスペクトルレンダラーを苦しめますが、さらに悪いことに、特定の輝度を生成するために必要な放射輝度可視スペクトルの両端に向かって発散するため、人間の発光効率関数はゼロ。

したがって、フォトメトリック単位を使用する場合は、IMOは少し「チート」し、実際の波長依存のフォトメトリック単位を使用せず、固定波長(555 nm緑など、人間の発光のピーク)を使用することをお勧めします効率関数)、またはおそらくスペクトル全体の平均を基準単位として、その単一の単位を適用してすべての波長を測定します。これにより、他のソースからRGBカラーとRGBスペクトルをインポートするとき、およびそれらを出力として生成するときに問題が少なくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.