Context(s) | displace fog surface |
vector shadow_light(int lightid, vector pos, vector dir, float time, ...)
このオペレーションは、shadow()関数と似ていますが、illuminanceループ外でshadowシェーダを実行することができます。 光源の位置と向きを直接指定し、shadowシェーダが実行されると、shadow乗数を返します。 最終シャドウのカラーを生成するためには、shadow_light関数が返した値でシェーディングカラーを乗算します。
キーワードの可変長引数をshadowシェーダに渡すことが可能です。shimport()を使えば、shadowシェーダから変数をインポートすることができます。
lightid
getlightsが返すライトのID。
pos
光線の原点(例えば、グローバル変数P
)。
dir
原点からの方向ベクトル。このベクトルの長さは、 pos から光源までの距離です。
time
光線を送信する時間。
See also | |
light |
|
pbr |
|
raytracing |