色収差の表現
色収差は、光が透明+屈折の表面材質を持つ形状にぶつかったときに成分が分解されるような表現を行います。
フォトンマッピングでレンダリングする必要があります。
上記画像は、ShadeExplorerから「プリセット」-「形状」-「easyprism.shd」を読み込んだときのレンダリング画像です。
色収差のレンダリング手順
色収差をレンダリングに反映させるには、以下の指定が必要になります。
- 表面材質で、透明+屈折を指定
- 表面材質で、収差の強さを指定
- フォトンマッピングでレンダリング
光が通過する形状として、透明+屈折の指定を行います。
以下は、水と同じ屈折率の1.33を指定しています。
透明にするため、拡散反射は0.0としておきます。
「収差」のスライダで、収差の強さを指定します。初期状態の0.0の場合は収差は反映されません。
シーン上では、透明+屈折+収差指定をした形状に向けて光が入るようにします。
下画像は、左下の円柱の先端から点光源の白色の光が差し込み、中央の三角柱のプリズムに光が入るようにしています。
イメージウィンドウの設定で「大域照明」タブを選択し、「大域照明」を「フォトンマッピング」にします。
「フォトンマッピング」グループでパラメータを指定します。
それぞれのパラメータはレンダリングするシーンにより変わります。
「コースティクス」の数値を大きくし、「コースティクス収集スケール」を0.0より大きくすることで、
レンダリング時にコースティクスが反映されます。
パラメータ名 | 説明 |
---|---|
フォトン数 | 光源から飛ばすフォトン数の目安。値を大きくするほど精度が上がります。 |
収集スケール | 「適応値」で、カメラからの距離に応じた範囲を指定します。 |
コースティクス | 値を大きくすると、コースティクス(集積)の精度が上がります。 |
コースティクス収集スケール | コースティクスフォトンの収集スケール。この値が小さいとシャープになりますが、より多くのフォトンが必要になります。 |
レンダリングを行うと、プリズムを通った光が虹色のグラデーションになります。
虹色の表示のされ方は、プリズムに光が入るときの面の角度や屈折率によって変化します。