ライティング

ライティング

images/alien3pointLighting.png

RISのライティングは、ジオメトリックエリアライトを使用します。 これは、表現豊かでハイパフォーマンスなライトで、明示的な制御だけでなく、ライティングのサンプル数を明示的に制御する煩わしさを軽減する仕組みがあり、 柔軟性が高く、あらゆるタイプのワークフローおよびパイプラインに適したライティングをもたらします。

ライトは、放射サーフェスの形状を定義したジオメトリックプリミティブとして表現されています。 したがって、矩形エリアライトは、ポリゴンまたはバイリニアパッチとして表現されています。 球形ライトは、AreaLightシェーダなどを持つ単なる球です。

放射形状と放射ライトの指向性 - つまりプロファイルは、別々に制御可能で、ライティングシナリオの複雑さに関わらず 簡単に設定することができます。 3点ライティングは、わかりやすく、複雑なオブジェクトから簡単にライトを放射することができます。

ライティングシステムには、他のプロパティ - 例えば放射カラーと強度など - に対する 制御も用意されており、正規化をサポートしています。


シェイプ

RenderManでは、放射サーフェスの形状は、放射の指向性、つまり放射プロファイルとはやや異なります。 ほとんどのライトタイプでは、ディスタントライトや環境ライトの例外を除き、放射のプロファイル(シェーピング)を別々に制御することができます。

ここでは、矩形ライト、ディスクライト、球、任意のジオメトリ(この場合は、螺旋)を使用しています:

rectangle disc sphere helix

無限ライト、ディスタントライト、環境ライト:

distant environment

プロファイル - 形状ライトなど

スポットライトは、coneangle(円錐角)およびpenumbraangle(半影角)で指定することができます。 角度は、指定したprofilespace(通常、ライトシェイプを定義したジオメトリの座標系)のzを基準に測定されます。

以下の画像は、coneangleを小さくしていった連番画像です。

images/lighting/lightTypes_spot0.jpg images/lighting/lightTypes_spot1.jpg images/lighting/lightTypes_spot2.jpg images/lighting/lightTypes_spot3.jpg images/lighting/lightTypes_spot4.jpg images/lighting/lightTypes_spot5.jpg images/lighting/lightTypes_spot6.jpg

penumbraangle(半影角)は、スポットライトに対するライトからシャドウへの移り変わりの鮮明さを制御します。

images/lighting/lightTypes_penumbra0.jpg images/lighting/lightTypes_penumbra1.jpg images/lighting/lightTypes_penumbra2.jpg

円錐の離心率は、xとyのそれぞれに指定したprofilespaceをスケールすることで制御することができます(角度はzに対して測定)。

images/lighting/lightTypes_conesquish0.jpg images/lighting/lightTypes_conesquish1.jpg images/lighting/lightTypes_conesquish2.jpg

他のケースとしては、ライトからコサイン方式で放射しなくても、より強い指向性を持つように、放射ライトにフォーカスを当てたい場合があります。 これは、ライトにコサイン指数を設定することで可能です:

images/lighting/lightTypes_cosine3.jpg images/lighting/lightTypes_cosine2.jpg images/lighting/lightTypes_cosine1.jpg images/lighting/lightTypes_cosine0.jpg

複雑な形状は、IESプロファイル(iesprofile)を使うことで実現可能です。 このプロファイルは、profilerangeconeangleを使って角度分布を再マッピングすることができます。

images/lighting/lightTypes_ies0.jpg images/lighting/lightTypes_ies1.jpg images/lighting/lightTypes_ies2.jpg images/lighting/lightTypes_ies3.jpg

他のプロパティ

サーフェスからのライトの放射カラーと強度は、もちろん制御可能です。

images/lighting/lightTypes_color0.jpg images/lighting/lightTypes_color1.jpg images/lighting/lightTypes_color2.jpg images/lighting/lightTypes_color3.jpg

あるタイプのライティングでは、一定カラーで十分機能します。 他のケースでは、放射性をエミッターに対して可変にしたいことがあります。 これは、放射を指定する時に、一定でないカラーを通すことで実現することができます。 ライトをcosinepowerでフォーカスするエフェクトは、ここでフォースエフェクトがよりクリアに見えている通りで、 テクスチャの放射を使うことで明白になります。 これとスポットライトのconeangleを対比させると、スポットライトの円錐角は、定義した円錐内でライトを制限しているだけであることがわかります。

textured emission cosinepower combined with textured emission coneangle combined with textured emission

正規化

areanormalizeが0以外の時、ライトの出力は、再スケールによってその指数が変化しないように正規化されます。 これは、強度の変化がなくなることを意味しているのではありません - ライトが大きくなったり小さくなったりするにつれて、色々な角度からライトが入射するので、 Bxdfとの相互作用は、受け取った強度を変化させることができます。 しかし、ライトの総出力は、スケーリング下では一定であることが保証されています。 これは、ライティングリグを設定する時に非常に役に立ちます。

以下の画像は、左から右へ向かって、正規化したライト、正規化をオンにしたまま大きくしたライト、正規化しないで同じ大きさのライトです。 正規化は、まるでライトが単位面積であるかのように、強度を効率的に指定します。

images/lighting/lightTypes_lightscale0.jpg images/lighting/lightTypes_lightscale1.jpg images/lighting/lightTypes_lightscale2.jpg