Aアプリケーションは、照明と互いにやり取りするためにDirect3DRMLightインターフェイスのメソッドを使用する。
Direct3DRMLightインターフェイスのメソッドは、以下のグループにまとめることができる。
Direct3DRMLightインターフェイスは、Direct3DRMObjectインターフェイスから次のメソッドを継承する。
Direct3DRMLightオブジェクトは、Direct3DRM3.CreateLightまたはDirect3DRM3.CreateLightRGBメソッドの呼び出しによって取得される。
現在のDirect3DRMLightオブジェクトの色を取得する。
構文
object.GetColor( ) As Long
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
色を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
Direct3DRMLightオブジェクトの減衰定数を取得する。
構文
object.GetConstantAttenuation( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
減衰定数を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、光源からの距離に基づいて照明の減衰を計算できる。
全減衰係数の公式は次のとおりである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
参照
照明の有効フレームを取得する。
構文
object.GetEnableFrame( ) As Direct3DRMFrame3
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
成功すればDirect3DRMFrame3オブジェクトを、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
照明の1次減衰係数を取得する。
構文
object.GetLinearAttenuation( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
1次減衰係数を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、光源からの距離に基づいて照明の減衰を計算できる。
T全減衰係数の公式は次のとおりである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
参照
スポットライトの暗影部の角度を取得する。
構文
object.GetPenumbra( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
ラジアン単位の暗影部の値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
照明の2次減衰係数を取得する。
構文
object.GetQuadraticAttenuation( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
2次減衰係数を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、照明からの距離に基づいて照明の減衰を計算できる。
全減衰係数の公式は次の通りである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
参照
現在のDirect3DRMLightオブジェクトの範囲を取得する。
構文
object.GetRange( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
範囲を示す値を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
指定された照明のタイプを取得する。
構文
object.GetType( ) As CONST_D3DRMLIGHTTYPE
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
CONST_D3DRMLIGHTTYPE列挙型のメンバの1つを返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
Direct3DRMLightオブジェクトの明部の角度を取得する。デフォルトは、0.4ラジアンである。
構文
object.GetUmbra( ) As Single
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
戻り値
ラジアン単位の明部の角度を返す。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
指定された照明の色を設定する。
構文
object.SetColor(c As Long)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- c
- 照明の新しい色。赤、緑、青の色要素だけでなく、アルファ要素も必ずセットする。そうしないと、オブジェクトが可視にならないことがある。色は4バイトのLongで表される。高バイトはアルファ要素であり、後続のバイトが赤、緑、青を定義する。より簡単に色を構築するにはDirectX7オブジェクトのCreateColorRGBAを使い、フルアルファを希望しているだけの場合はSetColorRGBを使う。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMLightInterpolatorオブジェクトにカラーキーを追加するためにも使用する。
参照
指定された照明の色をR、B、Gそれぞれの値で設定する。
構文
object.SetColorRGB(r As Single, g As Single, b As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- r, g, b
- 照明の新しい色。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMLightInterpolatorオブジェクトにRGBカラーキーを追加するためにも使用する。
照明の減衰係数を設定する。
構文
object.SetConstantAttenuation(atn As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- atn
- 新しい減衰定数。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、照明からの距離に基づいて照明の減衰を計算できる。
全減衰係数の公式は次のとおりである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
このメソッドは、Direct3DRMLightInterpolatorオブジェクトに減衰定数キーを追加するためにも使用する。
参照
照明の有効フレームを設定する。
構文
object.SetEnableFrame(f As Direct3DRMFrame3)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- f
- Direct3DRMLightオブジェクトのDirect3DRMFrame3インターフェイス。このフレームの子フレームも、この照明が有効になる。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
照明の1次減衰係数を設定する。
構文
object.SetLinearAttenuation(atn As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- atn
- 新しい1次減衰係数。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、照明からの距離に基づいて照明の減衰を計算できる。
全減衰係数の公式は次のとおりである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
このメソッドは、Direct3DRMLightInterpolatorオブジェクトに1次減衰定数キーを追加するためにも使用する。
参照
円錐の暗影部の角度を設定する。
構文
object.SetPenumbra(p As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- p
- ラジアン単位の新しい暗影部の角度。この角度は暗部の角度より大きいか、等しくなくてはいけない。暗影部の角度を明部の角度よりも小さく設定した場合、暗影部は明部と同じ角度になる。デフォルト値は0.5ラジアンである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMLightInterpolatorオブジェクトに影角度キーを追加するためにも使用する。
参照
照明の2次減衰係数を設定する。
構文
object.SetQuadraticAttenuation(atn As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- atn
- 新しい2次減衰係数。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
位置を持つ(無限に遠くない)照明には減衰定数があり、照明からの距離に基づいて照明の減衰を計算できる。
全減衰係数の公式は次のとおりである。
1 / [constant_attenuation_factor + distance * linear_attenuation_factor + (distance**2) * quadratic_attenuation_factor]
全減衰係数は1より大きくならない。減衰係数が指定されないと、デフォルト値は、減衰定数に対しては1.0、1次減衰係数に対しては0.0、2次減衰係数に対しては0.0である。
このメソッドは、Direct3DRMLightInterpolatorオブジェクトに2次減衰キーを追加するためにも使用する。
参照
スポットライトの範囲を設定する。この照明は、範囲内にあるオブジェクトに限り影響する。
構文
object.SetRange(mg As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- mg
- 新しい範囲。デフォルト値は、256モデル空間単位である。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
範囲プロパティは、スポットライトだけのものである。このメソッドは、Direct3DRMLightInterpolatorオブジェクトに範囲キーを追加するためにも使用する。
参照
照明のタイプを変更する。
構文
object.SetType(t As CONST_D3DRMLIGHTTYPE)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- t
- 新しい照明タイプをCONST_D3DRMLIGHTTYPE列挙型のメンバの1つで指定する。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
参照
円錐の明部の角度を設定する。
構文
object.SetUmbra(u As Single)
要素
- object
- Direct3DRMLightオブジェクトを表すオブジェクト式。
- u
- ラジアン単位の新しい明部の角度。この角度は、暗影部の角度よりも小さいか、等しくなくてはいけない。明部の角度を暗影部の角度より大きく設定した場合、明部は暗影部と同じ角度となる。デフォルト値は0.4ラジアンである。
エラー値
エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。
注意
このメソッドは、Direct3DRMLightInterpolatorオブジェクトに影角度キーを追加するためにも使用する。
参照
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.