IDirect3DRMFrame3メソッドA〜M

この項は、IDirect3DRMFrame3インターフェイスのメソッドのうち、メソッド名がAからMのものをとりあげるリファレンスページである。

IDirect3DRMFrame3::AddChild

IDirect3DRMFrame3

子フレームをフレーム階層に追加する。

構文

HRESULT AddChild(
  LPDIRECT3DRMFRAME3 lpD3DRMFrameChild
  );

パラメータ

lpD3DRMFrameChild
子として追加するDirect3DRMFrameオブジェクトのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

子として追加するフレームに、すでに親フレームが存在する場合には、このメソッドは、そのフレームを現在の親から削除した後に新しい親に追加する。子フレームは、Direct3DRMFrameArrayオブジェクトの最後に追加される。Direct3DRMFrameArrayオブジェクトは、IDirect3DRMFrame3::GetChildrenを使って取得できる。

オブジェクトの変換を保存するためには、IDirect3DRMFrame3::GetTransformメソッドを使ってAddChildメソッドを使う前にオブジェクトの変換を取得する。その後、フレームが追加された後でその変換を再適用する。

参照

階層

IDirect3DRMFrame3::AddLight

IDirect3DRMFrame3

照明をフレームに追加する。

構文

HRESULT AddLight(
  LPDIRECT3DRMLIGHT lpD3DRMLight
  );

パラメータ

lpD3DRMLight
フレームに追加するDirect3DRMLightオブジェクトを表す変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

照明は、Direct3DRMLightArrayオブジェクトの最後に追加される。Direct3DRMLightArrayオブジェクトは、IDirect3DRMFrame3::GetLightsを使って取得できる。

IDirect3DRMFrame3::AddMoveCallback

IDirect3DRMFrame3

特殊な運動の処理用にコールバック関数を追加する。フレームを移動時または更新時に、このコールバックが呼び出される。

構文

HRESULT AddMoveCallback(
  D3DRMFRAME3MOVECALLBACK d3drmFMC,
  VOID *lpArg,
  DWORD dwFlags
  );

パラメータ

d3drmFMC
アプリケーション定義D3DRMFRAME3MOVECALLBACKコールバック関数。
lpArg
コールバック関数に渡されるアプリケーション定義データ。
dwFlags
以下の値の1つ。
D3DRMCALLBACK_PREORDER − デフォルト値。IDirect3DRMFrame3::Moveが階層をたどって行くとき、フレームのコールバック関数は、子フレームをたどる前に呼び出される。
D3DRMCALLBACK_POSTORDER − IDirect3DRMFrame3::Moveが階層をたどって行くとき、フレームのコールバック関数は, 子フレームをたどった後に呼び出される。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

このメソッドは、IDirect3DRMFrame2::AddMoveCallback2を置換する。個々のフレームに対する複数のコールバック関数は、それらの関数の作成順に呼び出される。

参照

IDirect3DRMFrame3::Move, IDirect3DRMFrame3::DeleteMoveCallback

IDirect3DRMFrame3::AddRotation

IDirect3DRMFrame3

(rvX, rvY, rvZ) を中心とする回転を、rvThetaで指定されたラジアンで追加する。

構文

HRESULT AddRotation(
  D3DRMCOMBINETYPE rctCombine,
  D3DVALUE rvX,
  D3DVALUE rvY,
  D3DVALUE rvZ,
  D3DVALUE rvTheta
  );

パラメータ

rctCombine
新しい回転を現在の任意のフレーム変換と結合する方法を指定するD3DRMCOMBINETYPE列挙型のメンバ。
rvX, rvY, rvZ
回転軸。
rvTheta
ラジアン単位の回転角。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

指定の回転は、このIDirect3DRMFrame3インターフェイスが識別するフレームに対する行列だけを変更する。このメソッドは、レンダリングごとに行列を変更するIDirect3DRMFrame3::SetRotationとは異なりフレームを一度しか変更しない。

参照

3D変換」, IDirect3DRMFrame3::SetRotation

IDirect3DRMFrame3::AddScale

IDirect3DRMFrame3

フレームのローカル変換を (rvX, rvY, rvZ) でスケーリングする。

構文

HRESULT AddScale(
  D3DRMCOMBINETYPE rctCombine,
  D3DVALUE rvX,
  D3DVALUE rvY,
  D3DVALUE rvZ
  );

パラメータ

rctCombine
新しいスケールを現在の任意のフレーム変換と結合する方法を指定するD3DRMCOMBINETYPE列挙型のメンバ。
rvX, rvY, rvZ
x、y、zの各方向のスケールファクタ。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

指定の変換は、このIDirect3DRMFrame3インターフェイスが識別するフレームに対する行列だけを変更する。

参照

3D変換

IDirect3DRMFrame3::AddTransform

IDirect3DRMFrame3

rctCombinermMatrixによって指定されたアフィン変換でフレームのローカル座標を変換する。

構文

HRESULT AddTransform(
  D3DRMCOMBINETYPE rctCombine,
  D3DRMMATRIX4D rmMatrix
  );

パラメータ

rctCombine
新しい変換を現在の任意の変換と結合する方法を指定するD3DRMCOMBINETYPE列挙型のメンバ。
rmMatrix
結合される変換行列を定義するD3DRMMATRIX4D配列のメンバ。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

4×4行列が与えられたが、変換がアフィン変換であるためには、最後の列は[0 0 0 1]の転置でなければならない。

指定の変換は、このIDirect3DRMFrame3インターフェイスが識別するフレームに対する行列だけを変更する。

参照

3D変換

IDirect3DRMFrame3::AddTranslation

IDirect3DRMFrame3

フレームのローカル座標系に (rvX, rvY, rvZ) による平行移動を追加する。

構文

HRESULT AddTranslation(
  D3DRMCOMBINETYPE rctCombine,
  D3DVALUE rvX,
  D3DVALUE rvY,
  D3DVALUE rvZ
  );

パラメータ

rctCombine
新しい変換を現在の任意の変換と結合する方法を指定するD3DRMCOMBINETYPE列挙型のメンバ。
rvX, rvY, rvZ
x、y、zの各方向での位置変化を定義する。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

指定の変換は、このIDirect3DRMFrame3インターフェイスが識別するフレームに対する行列だけを変更する。

参照

3D変換

IDirect3DRMFrame3::AddVisual

IDirect3DRMFrame3

ビジュアルオブジェクトをフレームに追加する。

構文

HRESULT AddVisual(
  LPUNKNOWN lpD3DRMVisual
  );

パラメータ

lpD3DRMVisual
フレームに追加するビジュアルオブジェクトを表す変数へのポインタ。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

ビジュアルオブジェクトには、メッシュ、プログレッシブメッシュ、テクスチャ、影、ユーザビジュアル、および3D DirectX変換オブジェクトが含まれる。ビジュアルオブジェクトがフレームに追加されると、ビジュアルオブジェクトは、フレームがビュー中にある場合に可視状態になる。フレームはビジュアルオブジェクトを参照する。

IDirect3DRMFrame3::DeleteChild

IDirect3DRMFrame3

階層からフレームを削除する。そのフレームが参照されていなければ、子フレーム、照明、およびメッシュのすべてがともに破棄される。

構文

HRESULT DeleteChild(
  LPDIRECT3DRMFRAME3 lpChild
  );

パラメータ

lpChild
子として使用するDirect3DRMFrameオブジェクトのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

階層

IDirect3DRMFrame3::DeleteLight

IDirect3DRMFrame3

フレームから照明を削除し、フレームが参照されることがなければ破棄する。照明がフレームから削除されると、そのフレームがあったシーンの中のメッシュに以降影響することはない。

構文

HRESULT DeleteLight(
  LPDIRECT3DRMLIGHT lpD3DRMLight
  );

パラメータ

lpD3DRMLight
削除するDirect3DRMLightオブジェクトを表す変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::DeleteMoveCallback

IDirect3DRMFrame3

AddMoveCallbackによって追加されたフレーム移動コールバック関数を削除する。

構文

HRESULT DeleteMoveCallback(
  D3DRMFRAME3MOVECALLBACK d3drmFMC,
  VOID *lpArg
  );

パラメータ

d3drmFMC
アプリケーション定義D3DRMFRAME3MOVECALLBACKコールバック関数。
lpArg
コールバック関数に渡されたアプリケーション定義データ。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::AddMoveCallback, IDirect3DRMFrame3::Move

IDirect3DRMFrame3::DeleteVisual

IDirect3DRMFrame3

ビジュアルオブジェクトをフレームから削除し、以降参照されない場合には破棄する。

構文

HRESULT DeleteVisual(
  LPUNKNOWN lpD3DRMVisual
  );

パラメータ

lpD3DRMVisual
削除するDirect3DRMVisualオブジェクトを表す変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::GetAxes

IDirect3DRMFrame3

IDirect3DRMFrame3::SetOrientationメソッドに供給される方向ベクトル (rvDx, rvDy, rvDz) とアップベクトル (rvUx, rvUy, rvUz) と整列するベクトルを取得する。

構文

HRESULT GetAxes(
  LPD3DVECTOR dir,
  LPD3DVECTOR up
  );

パラメータ

dir
フレームのz軸。デフォルトは (0,0,1) である。
up
フレームのy軸。デフォルトは (0,1,0) である。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

このメソッドは、IDirect3DRMFrame3::SetAxesとともに働き、左手座標系と右手座標系の両方を支援する。SetAxesは、負のz軸がオブジェクトの前面を表すように指定することを可能にする。

参照

IDirect3DRMFrame3::SetAxes, IDirect3DRMFrame3::GetInheritAxes, IDirect3DRMFrame3::SetInheritAxes

IDirect3DRMFrame3::GetBox

IDirect3DRMFrame3

DIRECT3DRMFRAME2オブジェクトを含む境界ボックスを取得する。境界ボックスは、各次元での最小および最大のモデル座標を与える。

構文

HRESULT GetBox(
  D3DRMBOX *lpD3DRMBox
  );

パラメータ

lpD3DRMBox
境界ボックス座標がセットされるD3DRMBOX構造体のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。有効な境界ボックスがすでにフレームに設定されていない場合はD3DRMERR_BOXNOTSETを返す。その他の可能な戻り値のリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

このメソッドは、階層的選別に対するフレーム上の境界ボックスをサポートする。有効な境界ボックスは、IDirect3DRMFrame3::SetBoxでフレーム上に設定する必要がある。境界ボックスをイネーブルにするには、IDirect3DRMFrame3::SetBoxEnableメソッドを使ってイネーブルフラグをTRUEにする必要がある。デフォルトで、ボックスイネーブルフラグはFALSEである。デフォルトの境界ボックスはない。

参照

IDirect3DRMFrame3::SetBox, IDirect3DRMFrame3::SetBoxEnable, IDirect3DRMFrame3::GetBoxEnable

IDirect3DRMFrame3::GetBoxEnable

IDirect3DRMFrame3

境界ボックスがこのDirect3DRMFrame2オブジェクトに対して、イネーブルになっているかどうかを判別するフラグを取得する。

構文

BOOL GetBoxEnable( );

戻り値

境界ボックスがイネーブルであればTRUE、イネーブルでなければFALSEを返す。

注意

境界ボックスをイネーブルにするには、IDirect3DRMFrame3::SetBoxEnableメソッドを使ってイネーブルフラグをTRUEにする必要がある。デフォルトでは、ボックスイネーブルフラグはFALSEである。

参照

IDirect3DRMFrame3::SetBoxEnable IDirect3DRMFrame3::GetBox, IDirect3DRMFrame3::SetBox

IDirect3DRMFrame3::GetChildren

IDirect3DRMFrame3

Direct3DRMFrameArrayオブジェクトの形式で、子フレームのリストを取得する。

構文

HRESULT GetChildren(
  LPDIRECT3DRMFRAMEARRAY *lplpChildren
  );

パラメータ

lplpChildren
この呼び出しが成功した場合に、有効なDirect3DRMFrameArrayポインタで初期化されるポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

DIRECT3DRMFRAMEARRAY, 「階層

IDirect3DRMFrame3::GetColor

IDirect3DRMFrame3

フレームの色を取得する。

構文

D3DCOLOR GetColor( );

戻り値

Direct3DRMFrame2オブジェクトの色を返す。

参照

IDirect3DRMFrame3::SetColor

IDirect3DRMFrame3::GetHierarchyBox

IDirect3DRMFrame3

このDirect3DRMFrame2オブジェクトをルートとする階層中のすべての幾何図形を含む境界ボックスを計算する。

構文

HRESULT GetHierarchyBox(
  D3DRMBOX *lpD3DRMBox
  );

パラメータ

lpD3DRMBox
境界ボックスの座標がセットされるD3DRMBOX構造体のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::GetBox, IDirect3DRMFrame3::SetBox, IDirect3DRMFrame3::SetBoxEnable, IDirect3DRMFrame3::GetBoxEnable

IDirect3DRMFrame3::GetInheritAxes

IDirect3DRMFrame3

フレームの軸が親フレームから継承したものであるかどうかを示すフラグを取得する。

構文

BOOL GetInheritAxes( );

戻り値

フレームが軸を継承する(デフォルト)とTRUE、軸を継承しないとFALSEを返す。

注意

デフォルトでは、軸は親から継承したものである。フレームに親からの継承と設定されていて、親が存在しなければ、フレームはデフォルト軸(方向=(0,0,1)アップ=(0,1,0))を持つ親から継承したように動作する。

このメソッドおよびIDirect3DRMFrame3::SetInheritAxesメソッドは、階層のルートで設定される軸の単一の方針を許す。

参照

IDirect3DRMFrame3::SetInheritAxes, IDirect3DRMFrame3::GetAxes, IDirect3DRMFrame3::SetAxes

IDirect3DRMFrame3::GetLights

IDirect3DRMFrame3

Direct3DRMLightArrayオブジェクトの形式でフレーム中の照明のリストを取得する。

構文

HRESULT GetLights(
  LPDIRECT3DRMLIGHTARRAY *lplpLights
  );

パラメータ

lplpLights
この呼び出しが成功した場合に、有効なDirect3DRMLightArrayポインタで初期化されるポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMLightArray

IDirect3DRMFrame3::GetMaterial

IDirect3DRMFrame3

Direct3DRMFrame2オブジェクトのマテリアルを取得する。

構文

HRESULT GetMaterial(
  LPDIRECT3DRMMATERIAL2 *lplpMaterial
  );

パラメータ

lplpMaterial
フレームに適用されるDirect3DRMMaterialオブジェクトへのポインタがセットされる変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetMaterial

IDirect3DRMFrame3::GetMaterialMode

IDirect3DRMFrame3

フレームのマテリアルモードを取得する。

構文

D3DRMMATERIALMODE GetMaterialMode( );

戻り値

現在のマテリアルモードを指定するD3DRMMATERIALMODE列挙型のメンバを返す。

参照

IDirect3DRMFrame3::SetMaterialMode

IDirect3DRMFrame3::GetOrientation

IDirect3DRMFrame3

指定の参照フレームを基準とするフレームの方向を取得する。

構文

HRESULT GetOrientation(
  LPDIRECT3DRMFRAME lpRef,
  LPD3DVECTOR lprvDir,
  LPD3DVECTOR lprvUp
  );

パラメータ

lpRef
参照に使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
lprvDir, lprvUp
D3DVECTOR構造体のアドレス。構造体には、それぞれフレームのz軸およびy軸の正規化された方向がセットされる。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetOrientation

IDirect3DRMFrame3::GetMaterialOverride

IDirect3DRMFrame3

マテリアル属性に対する現在の属性ごとのオーバーライド設定を取得する。

構文

HRESULT GetMaterialOverride(
  LPD3DRMMATERIALOVERRIDE lpdmOverride);

パラメータ

lpdmOverride
オーバーライドするプロパティを記述するD3DRMMATERIALOVERRIDE構造体へのポインタ。

戻り値

次の値のうち1つを返す。
 
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DD_OK

注意

このメソッドは、DirectX version 6.0とともに導入された。

テクスチャがオーバーライドの中にある場合、その参照カウントは戻される前に (AddRefで) インクリメントされており、終了時にテクスチャをリリースする必要がある。このため、テクスチャオーバーライドを適用する場合、リリースを忘れないこと。

参照

SetMaterialOverride

IDirect3DRMFrame3::GetParent

IDirect3DRMFrame3

現在のフレームの親フレームを取得する。

構文

HRESULT GetParent(
  LPDIRECT3DRMRAME3 *lplpParent
  );

パラメータ

lplpParent
フレームの親を表すDirect3DRMFrameオブジェクトへのポインタがセットされたポインタのアドレス。現在のフレームがルートである場合、メソッドの戻り時に、このポインタはNULLになる。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::GetPosition

IDirect3DRMFrame3

指定の参照フレームを基準とするフレームの位置を取得する。すなわち、参照フレームからのフレームの距離を取得する。距離は、直線的な値ではなく、ベクトルとしてlprvPosパラメータに格納される。

構文

HRESULT GetPosition(
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lprvPos
  );

パラメータ

lpRef
参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
lprvPos
フレームの位置がセットされるD3DVECTOR構造体のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetPosition

IDirect3DRMFrame3::GetRotation

IDirect3DRMFrame3

指定の参照フレームを基準とするフレームの回転を取得する。

構文

HRESULT GetRotation(
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lprvAxis,
  LPD3DVALUE lprvTheta
  );

パラメータ

lpRef
参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
lprvAxis
フレームの回転軸がセットされるD3DVECTOR構造体のアドレス。
lprvTheta
ラジアン単位のフレームの回転となる変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetRotation, 「変換

IDirect3DRMFrame3::GetScene

IDirect3DRMFrame3

指定のフレームを含む階層のルートフレームを取得する。

構文

HRESULT GetScene(
  LPDIRECT3DRMFRAME3 lplpRoot
  );

パラメータ

lplpRoot
シーンのルートフレームを表すDirect3DRMFrameオブジェクトへのポインタがセットされているポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::GetSceneBackground

IDirect3DRMFrame3

シーンの背景色を取得する。

構文

D3DCOLOR GetSceneBackground( );

戻り値

色を返す。

IDirect3DRMFrame3::GetSceneBackgroundDepth

IDirect3DRMFrame3

シーンの現在の背景深度バッファを取得する。

構文

HRESULT GetSceneBackgroundDepth(
  LPDIRECTDRAWSURFACE *lplpDDSurface
  );

パラメータ

lplpDDSurface
現在の背景深度バッファを表すDirectDrawサーフェスのアドレスで初期化されるポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetSceneBackgroundDepth

IDirect3DRMFrame3::GetSceneFogColor

IDirect3DRMFrame3

シーンのフォグ色を取得する。

構文

D3DCOLOR GetSceneFogColor( );

戻り値

フォグ色を返す。

IDirect3DRMFrame3::GetSceneFogEnable

IDirect3DRMFrame3

現在このシーンに対してフォグがイネーブルされているかどうかを返す。

構文

BOOL GetSceneFogEnable( );

戻り値

フォグがイネーブルされていればTRUE、イネーブルされていなければFALSEを返す。

IDirect3DRMFrame3::GetSceneFogMethod

IDirect3DRMFrame3

現在のフォグメソッドを取得する。

構文

HRESULT GetSceneFogMethod(
  LPDWORD lpdwFlags);

パラメータ

lpdwFlags
現在のフォグメソッドを受け取るDWORDへのポインタ。現在定義されているフラグは、次の通りである。
D3DRMFOGMETHOD_ANY
Direct3DRMが適用可能なメソッドを選択することを示す。
D3DRMFOGMETHOD_VERTEX
頂点フォグを使用する。
D3DRMFOGMETHOD_TABLE
テーブルフォグを使用する。

戻り値

次の値のうち1つを返す。
 
D3DRMERR_BADVALUE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DD_OK

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMFrame3::GetSceneFogMode

IDirect3DRMFrame3

このシーンに対する現在のフォグモードを返す。

構文

D3DRMFOGMODE GetSceneFogMode( );

戻り値

現在のフォグパラメータを指定するD3DRMFOGMODE列挙型のメンバを返す。

IDirect3DRMFrame3::GetSceneFogParams

IDirect3DRMFrame3

このシーンに対する現在のフォグパラメータを取得する。

構文

HRESULT GetSceneFogParams(
  D3DVALUE *lprvStart,
  D3DVALUE *lprvEnd,
  D3DVALUE *lprvDensity
  );

パラメータ

lprvStart, lprvEnd, lprvDensity
フォグ開始、終了および密度値となる変数のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::GetSortMode

IDirect3DRMFrame3

子フレームを処理するのに使用されるソートモードを取得する。

構文

D3DRMSORTMODE GetSortMode( );

戻り値

ソートモードを指定するD3DRMSORTMODE列挙型のメンバを返す。

参照

IDirect3DRMFrame3::SetSortMode

IDirect3DRMFrame3::GetTexture

IDirect3DRMFrame3

指定フレームのテクスチャを取得する。

構文

HRESULT GetTexture(
  LPDIRECT3DRMTEXTURE3 *lplpTexture
  );

パラメータ

lplpTexture
フレームのテクスチャを表すDirect3DRMTextureオブジェクトのアドレスがセットされているポインタのアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetTexture

IDirect3DRMFrame3::GetTransform

IDirect3DRMFrame3

フレームのローカル変換を4×4アフィン行列として取得する。

構文

HRESULT GetTransform(
  LPDIRECT3DRMFRAME lpRefFrame,
  D3DRMMATRIX4D rmMatrix);

パラメータ

lpRefFrame
この呼び出しのためにシーンのルートとして機能するフレーム。この引数がNULLの場合、現在のルートフレーム (GetSceneが返すフレーム) が使用される。
rmMatrix
フレームの変換がセットされるD3DRMMATRIX4D配列。これは、配列なので値はアドレスになる。

戻り値

次の値のうち1つを返す。
 
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DD_OK

注意

このメソッドは、DirectX version 6.0とともに導入された。このメソッドは、lpRefFrameパラメータを追加することでIDirect3DRMFrame::GetTransformを拡張する。

参照

3D変換

IDirect3DRMFrame3::GetTraversalOptions

IDirect3DRMFrame3

現在のフレームの横断状態を取得する。

構文

HRESULT GetTraversalOptions(
  LPDWORD lpdwFlags);

パラメータ

lpdwFlags
現在の有効状態がセットされるDWORDへのポインタ。現在定義されているフラグは、次の通りである。
D3DRMFRAME_RENDERENABLE
このフレームまたはその子フレームをレンダリングすることを示す。
D3DRMFRAME_PICKENABLE
このフレームまたはその子フレーム中の、任意のビジュアルをピックすることを示す。

戻り値

次の値のうち1つを返す。
 
D3DRMERR_BADVALUE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DD_OK

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMFrame3::GetVelocity

IDirect3DRMFrame3

指定の参照フレームを基準とするフレームの速度を取得する。速度は、ティック当たりの単位で指定される。詳細については、IDirect3DRM3::Tickを参照すること。

構文

HRESULT GetVelocity(
  LPDIRECT3DRMFRAME3 lpRef,
  LPD3DVECTOR lprvVel,
  BOOL fRotVel
  );

パラメータ

lpRef
参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
lprvVel
フレームの速度がセットされるD3DVECTOR構造体のアドレス。
fRotVel
直線速度を取得するときに、オブジェクトの回転速度を考慮するかどうかを指定するフラグ。このパラメータがTRUEの場合、オブジェクトの回転速度が計算に含まれる。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::SetVelocity

IDirect3DRMFrame3::GetVisuals

IDirect3DRMFrame3

フレーム中のビジュアルのリストを取得する。

構文

HRESULT GetVisuals(
  LPDWORD pdwNumVisuals, LPUNKNOWN *ppUnk
  );

パラメータ

pdwNumVisuals
返される予定のベクトル数を含むDWORD値へのポインタ。ppUnkがNULLならば、GetVisualsはフレームに含まれるビジュアル数を返す。ppUnkがNULLでない場合、DWORD値は実際に取り出されたビジュアル数を受け取る。
ppUnk
初期化されるビジュアルの配列へのポインタ。これをNULLにセットすると、GetVisualsはフレームに含まれるビジュアル数を返すことになる。そうでない場合、これはpdwNumVisualsに対してユーザが割り当てた空間の配列となる。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::GetZbufferMode

IDirect3DRMFrame3

Zバッファモードを取得する。すなわち、Zバッファリングがイネーブルまたはディセーブルであるかどうかを確認する。

構文

D3DRMZBUFFERMODE GetZbufferMode( );

戻り値

D3DRMZBUFFERMODE列挙型のメンバの1つを返す。

参照

IDirect3DRMFrame3::SetZbufferMode

IDirect3DRMFrame3::InverseTransform

IDirect3DRMFrame3

ワールド座標lprvSrcパラメータ中のベクトルをモデル座標に変換して、その結果をlprvDstパラメータに返す。

構文

HRESULT InverseTransform(
  D3DVECTOR *lprvDst,
  D3DVECTOR *lprvSrc
  );

パラメータ

lprvDst
変換の結果がセットされるD3DVECTOR構造体のアドレス。
lprvSrc
変換のソースであるD3DVECTOR構造体のアドレス。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

参照

IDirect3DRMFrame3::Transform, 「3D変換

IDirect3DRMFrame3::InverseTransformVectors

IDirect3DRMFrame3

ベクトルの配列をワールドからモデル空間に変換する。

構文

HRESULT InverseTransformVectors
(LPDIRECT3DRMFRAME3 lpRefFrame,
DWORD dwNumVectors,
LPD3DVECTOR	lpDstVectors,
LPD3DVECTOR	lpSrcVectors);

パラメータ

lpRefFrame
この呼び出しのためにシーンのルートとして使用されるフレーム。この引数がNULLの場合、現在のルートフレーム (GetSceneが返すフレーム) が使用される。
dwNumVectors
座標を変換する必要があるベクトル数。
lpDstVectors
変換の出力先。
lpSrcVectors
変換するベクトルの配列。

戻り値

次の値のうち1つを返す。
 
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DD_OK

注意

このメソッドは、DirectX version 6.0とともに導入された。

IDirect3DRMFrame3::Load

IDirect3DRMFrame3

Direct3DRMFrame2オブジェクトをロードする。

構文

HRESULT Load(
  LPVOID lpvObjSource,
  LPVOID lpvObjID,
  D3DRMLOADOPTIONS d3drmLOFlags,
  D3DRMLOADTEXTURE3CALLBACK d3drmLoadTextureProc,
  LPVOID lpArgLTP
  );

パラメータ

lpvObjSource
ロードするオブジェクトのソース。このソースは、d3drmLOFlagsパラメータで指定されているソースフラグに従い、ファイル、リソース、メモリブロック、またはストリームのいずれかにできる。
lpvObjID
ロードするオブジェクトの名前または位置。このパラメータの使用は、d3drmLOFlagsパラメータで指定されている識別フラグに依存する。D3DRMLOAD_BYPOSITIONフラグが指定されていれば、このパラメータは、ファイル中のオブジェクトの順を与えるDWORD値へのポインタとなる。このパラメータはNULLにできる。
d3drmLOFlags
ロードオプションを記述するD3DRMLOADOPTIONS型の値。
d3drmLoadTextureProc
特殊なフォーマッティングを要求するオブジェクトによって使用される、任意のテクスチャをロードするために呼び出されるD3DRMLOADTEXTURE3CALLBACKコールバック関数。このパラメータはNULLにできる。
lpArgLTP
D3DRMLOADTEXTURE3CALLBACKコールバック関数に渡されるアプリケーション定義データへのポインタ。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

注意

デフォルトでは、このメソッドは、lpvObjSourceパラメータで指定されているファイル中の最初のフレーム階層をロードする。このメソッドを呼び出したフレームは、新しいフレーム階層の親として使用される。デフォルトでは、パースペクティブ補正がオンである。

IDirect3DRMFrame3::LookAt

IDirect3DRMFrame3

指定の参照フレームを基準として、指定の制約によって回転をロックした状態でフレームを対象のフレームに直面させる。

構文

HRESULT LookAt(
  LPDIRECT3DRMFRAME3 lpTarget,
  LPDIRECT3DRMFRAME3 lpRef,
  D3DRMFRAMECONSTRAINT rfcConstraint
  );

パラメータ

lpTarget
対象として使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。
lpRef
参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
rfcConstraint
D3DRMFRAMECONSTRAINT列挙型のメンバで、軸回転を制約するように指定する。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。

IDirect3DRMFrame3::Move

IDirect3DRMFrame3

回転と速度を指定の階層のすべてのフレームに適用する。

構文

HRESULT Move(
  D3DVALUE delta
  );

パラメータ

delta
直線と回転速度に対する変化量。各要素における変更は、その要素の速度×deltaに等しい。これらの一方または両方の速度は、任意のフレームを起点として設定することができるが、システムは、自動的にデルタ時間を適用するので、親フレームを起点とした速度に変換する。

戻り値

成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.