Chapter4. 拡張関数


4.6 3Dグラフィックス関数

関数名
G3@LIGHTSETAT
機能
光源の減衰を設定する。
書式
G3@LIGHTSETAT(Light,Attenuation0,Attenuation1,Attenuation2)
《パラメーター》
Lightint。ライト番号。
Attenuation0float。減退係数0(0〜1.0)
Attenuation1float。減退係数1(0〜1.0)
Attenuation2float。減退係数2(0〜1.0)
解説
反射光の光源の強度の変化を設定する(ポイントライトおよびスポットライトで有効である)。強度は以下の計算式で求める。
 計算式:  1/(Attenuation0+D×Attenuation1+D2×Attenuation2
Attenuation0=1、Attenuation1=0、Attenuation2=0の時は距離による影響がなくなるり、Attenuation0=0、Attenuation1=0、Attenuation2=1の時は自然に近い影響を与えるが、後者は距離が近いときに強度が1.0を超えてしまうので、通常は前者の設定を使用する。
ディレクショナル光源には影響を与えない。
用例
ライトは距離による影響が通常の半分程度とする。
    FD=G3@FRMLOAD("sample.x")
    LD=G3@LIGHTMAKE( 1 , 1.0 , 1.0 , 1.0 )
    G3@LIGHTSETAT( LD , 0 , 0 , 0.5 )
  G3@ADD( LD , FD )