この項は、IDirect3DRMFrame3インターフェイスのメソッドのうち、メソッド名がAからMのものをとりあげるリファレンスページである。
子フレームをフレーム階層に追加する。
構文
HRESULT AddChild(
LPDIRECT3DRMFRAME3 lpD3DRMFrameChild
);
パラメータ
- lpD3DRMFrameChild
- 子として追加するDirect3DRMFrameオブジェクトのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
子として追加するフレームに、すでに親フレームが存在する場合には、このメソッドは、そのフレームを現在の親から削除した後に新しい親に追加する。子フレームは、Direct3DRMFrameArrayオブジェクトの最後に追加される。Direct3DRMFrameArrayオブジェクトは、IDirect3DRMFrame3::GetChildrenを使って取得できる。
オブジェクトの変換を保存するためには、IDirect3DRMFrame3::GetTransformメソッドを使ってAddChildメソッドを使う前にオブジェクトの変換を取得する。その後、フレームが追加された後でその変換を再適用する。
参照
「階層」
照明をフレームに追加する。
構文
HRESULT AddLight(
LPDIRECT3DRMLIGHT lpD3DRMLight
);
パラメータ
- lpD3DRMLight
- フレームに追加するDirect3DRMLightオブジェクトを表す変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
照明は、Direct3DRMLightArrayオブジェクトの最後に追加される。Direct3DRMLightArrayオブジェクトは、IDirect3DRMFrame3::GetLightsを使って取得できる。
特殊な運動の処理用にコールバック関数を追加する。フレームを移動時または更新時に、このコールバックが呼び出される。
構文
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
(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とは異なりフレームを一度しか変更しない。
参照
フレームのローカル変換を (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変換」
rctCombineとrmMatrixによって指定されたアフィン変換でフレームのローカル座標を変換する。
構文
HRESULT AddTransform(
D3DRMCOMBINETYPE rctCombine,
D3DRMMATRIX4D rmMatrix
);
パラメータ
- rctCombine
- 新しい変換を現在の任意の変換と結合する方法を指定するD3DRMCOMBINETYPE列挙型のメンバ。
- rmMatrix
- 結合される変換行列を定義するD3DRMMATRIX4D配列のメンバ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
4×4行列が与えられたが、変換がアフィン変換であるためには、最後の列は[0 0 0 1]の転置でなければならない。
指定の変換は、このIDirect3DRMFrame3インターフェイスが識別するフレームに対する行列だけを変更する。
参照
「3D変換」
フレームのローカル座標系に (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変換」
ビジュアルオブジェクトをフレームに追加する。
構文
HRESULT AddVisual(
LPUNKNOWN lpD3DRMVisual
);
パラメータ
- lpD3DRMVisual
- フレームに追加するビジュアルオブジェクトを表す変数へのポインタ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
ビジュアルオブジェクトには、メッシュ、プログレッシブメッシュ、テクスチャ、影、ユーザビジュアル、および3D DirectX変換オブジェクトが含まれる。ビジュアルオブジェクトがフレームに追加されると、ビジュアルオブジェクトは、フレームがビュー中にある場合に可視状態になる。フレームはビジュアルオブジェクトを参照する。
階層からフレームを削除する。そのフレームが参照されていなければ、子フレーム、照明、およびメッシュのすべてがともに破棄される。
構文
HRESULT DeleteChild(
LPDIRECT3DRMFRAME3 lpChild
);
パラメータ
- lpChild
- 子として使用するDirect3DRMFrameオブジェクトのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
「階層」
フレームから照明を削除し、フレームが参照されることがなければ破棄する。照明がフレームから削除されると、そのフレームがあったシーンの中のメッシュに以降影響することはない。
構文
HRESULT DeleteLight(
LPDIRECT3DRMLIGHT lpD3DRMLight
);
パラメータ
- lpD3DRMLight
- 削除するDirect3DRMLightオブジェクトを表す変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
AddMoveCallbackによって追加されたフレーム移動コールバック関数を削除する。
構文
HRESULT DeleteMoveCallback(
D3DRMFRAME3MOVECALLBACK d3drmFMC,
VOID *lpArg
);
パラメータ
- d3drmFMC
- アプリケーション定義D3DRMFRAME3MOVECALLBACKコールバック関数。
- lpArg
- コールバック関数に渡されたアプリケーション定義データ。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
ビジュアルオブジェクトをフレームから削除し、以降参照されない場合には破棄する。
構文
HRESULT DeleteVisual(
LPUNKNOWN lpD3DRMVisual
);
パラメータ
- lpD3DRMVisual
- 削除するDirect3DRMVisualオブジェクトを表す変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
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
DIRECT3DRMFRAME2オブジェクトを含む境界ボックスを取得する。境界ボックスは、各次元での最小および最大のモデル座標を与える。
構文
HRESULT GetBox(
D3DRMBOX *lpD3DRMBox
);
パラメータ
- lpD3DRMBox
- 境界ボックス座標がセットされるD3DRMBOX構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。有効な境界ボックスがすでにフレームに設定されていない場合はD3DRMERR_BOXNOTSETを返す。その他の可能な戻り値のリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
このメソッドは、階層的選別に対するフレーム上の境界ボックスをサポートする。有効な境界ボックスは、IDirect3DRMFrame3::SetBoxでフレーム上に設定する必要がある。境界ボックスをイネーブルにするには、IDirect3DRMFrame3::SetBoxEnableメソッドを使ってイネーブルフラグをTRUEにする必要がある。デフォルトで、ボックスイネーブルフラグはFALSEである。デフォルトの境界ボックスはない。
参照
IDirect3DRMFrame3::SetBox, IDirect3DRMFrame3::SetBoxEnable, IDirect3DRMFrame3::GetBoxEnable
境界ボックスがこのDirect3DRMFrame2オブジェクトに対して、イネーブルになっているかどうかを判別するフラグを取得する。
構文
BOOL GetBoxEnable( );
戻り値
境界ボックスがイネーブルであればTRUE、イネーブルでなければFALSEを返す。
注意
境界ボックスをイネーブルにするには、IDirect3DRMFrame3::SetBoxEnableメソッドを使ってイネーブルフラグをTRUEにする必要がある。デフォルトでは、ボックスイネーブルフラグはFALSEである。
参照
IDirect3DRMFrame3::SetBoxEnable IDirect3DRMFrame3::GetBox, IDirect3DRMFrame3::SetBox
Direct3DRMFrameArrayオブジェクトの形式で、子フレームのリストを取得する。
構文
HRESULT GetChildren(
LPDIRECT3DRMFRAMEARRAY *lplpChildren
);
パラメータ
- lplpChildren
- この呼び出しが成功した場合に、有効なDirect3DRMFrameArrayポインタで初期化されるポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
フレームの色を取得する。
構文
D3DCOLOR GetColor( );
戻り値
Direct3DRMFrame2オブジェクトの色を返す。
参照
このDirect3DRMFrame2オブジェクトをルートとする階層中のすべての幾何図形を含む境界ボックスを計算する。
構文
HRESULT GetHierarchyBox(
D3DRMBOX *lpD3DRMBox
);
パラメータ
- lpD3DRMBox
- 境界ボックスの座標がセットされるD3DRMBOX構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
IDirect3DRMFrame3::GetBox, IDirect3DRMFrame3::SetBox, IDirect3DRMFrame3::SetBoxEnable, IDirect3DRMFrame3::GetBoxEnable
フレームの軸が親フレームから継承したものであるかどうかを示すフラグを取得する。
構文
BOOL GetInheritAxes( );
戻り値
フレームが軸を継承する(デフォルト)とTRUE、軸を継承しないとFALSEを返す。
注意
デフォルトでは、軸は親から継承したものである。フレームに親からの継承と設定されていて、親が存在しなければ、フレームはデフォルト軸(方向=(0,0,1)アップ=(0,1,0))を持つ親から継承したように動作する。
このメソッドおよびIDirect3DRMFrame3::SetInheritAxesメソッドは、階層のルートで設定される軸の単一の方針を許す。
参照
IDirect3DRMFrame3::SetInheritAxes, IDirect3DRMFrame3::GetAxes, IDirect3DRMFrame3::SetAxes
Direct3DRMLightArrayオブジェクトの形式でフレーム中の照明のリストを取得する。
構文
HRESULT GetLights(
LPDIRECT3DRMLIGHTARRAY *lplpLights
);
パラメータ
- lplpLights
- この呼び出しが成功した場合に、有効なDirect3DRMLightArrayポインタで初期化されるポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMFrame2オブジェクトのマテリアルを取得する。
構文
HRESULT GetMaterial(
LPDIRECT3DRMMATERIAL2 *lplpMaterial
);
パラメータ
- lplpMaterial
- フレームに適用されるDirect3DRMMaterialオブジェクトへのポインタがセットされる変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
フレームのマテリアルモードを取得する。
構文
D3DRMMATERIALMODE GetMaterialMode( );
戻り値
現在のマテリアルモードを指定するD3DRMMATERIALMODE列挙型のメンバを返す。
参照
指定の参照フレームを基準とするフレームの方向を取得する。
構文
HRESULT GetOrientation(
LPDIRECT3DRMFRAME lpRef,
LPD3DVECTOR lprvDir,
LPD3DVECTOR lprvUp
);
パラメータ
- lpRef
- 参照に使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
- lprvDir, lprvUp
- D3DVECTOR構造体のアドレス。構造体には、それぞれフレームのz軸およびy軸の正規化された方向がセットされる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
マテリアル属性に対する現在の属性ごとのオーバーライド設定を取得する。
構文
HRESULT GetMaterialOverride( LPD3DRMMATERIALOVERRIDE lpdmOverride);
パラメータ
- lpdmOverride
- オーバーライドするプロパティを記述するD3DRMMATERIALOVERRIDE構造体へのポインタ。
戻り値
次の値のうち1つを返す。
DDERR_INVALIDOBJECT DDERR_INVALIDPARAMS DD_OK
注意
このメソッドは、DirectX version 6.0とともに導入された。
テクスチャがオーバーライドの中にある場合、その参照カウントは戻される前に (AddRefで) インクリメントされており、終了時にテクスチャをリリースする必要がある。このため、テクスチャオーバーライドを適用する場合、リリースを忘れないこと。
参照
現在のフレームの親フレームを取得する。
構文
HRESULT GetParent(
LPDIRECT3DRMRAME3 *lplpParent
);
パラメータ
- lplpParent
- フレームの親を表すDirect3DRMFrameオブジェクトへのポインタがセットされたポインタのアドレス。現在のフレームがルートである場合、メソッドの戻り時に、このポインタはNULLになる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
指定の参照フレームを基準とするフレームの位置を取得する。すなわち、参照フレームからのフレームの距離を取得する。距離は、直線的な値ではなく、ベクトルとしてlprvPosパラメータに格納される。
構文
HRESULT GetPosition(
LPDIRECT3DRMFRAME3 lpRef,
LPD3DVECTOR lprvPos
);
パラメータ
- lpRef
- 参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
- lprvPos
- フレームの位置がセットされるD3DVECTOR構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
指定の参照フレームを基準とするフレームの回転を取得する。
構文
HRESULT GetRotation(
LPDIRECT3DRMFRAME3 lpRef,
LPD3DVECTOR lprvAxis,
LPD3DVALUE lprvTheta
);
パラメータ
- lpRef
- 参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
- lprvAxis
- フレームの回転軸がセットされるD3DVECTOR構造体のアドレス。
- lprvTheta
- ラジアン単位のフレームの回転となる変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
指定のフレームを含む階層のルートフレームを取得する。
構文
HRESULT GetScene(
LPDIRECT3DRMFRAME3 lplpRoot
);
パラメータ
- lplpRoot
- シーンのルートフレームを表すDirect3DRMFrameオブジェクトへのポインタがセットされているポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
シーンの背景色を取得する。
構文
D3DCOLOR GetSceneBackground( );
戻り値
色を返す。
シーンの現在の背景深度バッファを取得する。
構文
HRESULT GetSceneBackgroundDepth(
LPDIRECTDRAWSURFACE *lplpDDSurface
);
パラメータ
- lplpDDSurface
- 現在の背景深度バッファを表すDirectDrawサーフェスのアドレスで初期化されるポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
シーンのフォグ色を取得する。
構文
D3DCOLOR GetSceneFogColor( );
戻り値
フォグ色を返す。
現在このシーンに対してフォグがイネーブルされているかどうかを返す。
構文
BOOL GetSceneFogEnable( );
戻り値
フォグがイネーブルされていればTRUE、イネーブルされていなければFALSEを返す。
現在のフォグメソッドを取得する。
構文
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とともに導入された。
このシーンに対する現在のフォグモードを返す。
構文
D3DRMFOGMODE GetSceneFogMode( );
戻り値
現在のフォグパラメータを指定するD3DRMFOGMODE列挙型のメンバを返す。
このシーンに対する現在のフォグパラメータを取得する。
構文
HRESULT GetSceneFogParams(
D3DVALUE *lprvStart,
D3DVALUE *lprvEnd,
D3DVALUE *lprvDensity
);
パラメータ
- lprvStart, lprvEnd, lprvDensity
- フォグ開始、終了および密度値となる変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
子フレームを処理するのに使用されるソートモードを取得する。
構文
D3DRMSORTMODE GetSortMode( );
戻り値
ソートモードを指定するD3DRMSORTMODE列挙型のメンバを返す。
参照
指定フレームのテクスチャを取得する。
構文
HRESULT GetTexture(
LPDIRECT3DRMTEXTURE3 *lplpTexture
);
パラメータ
- lplpTexture
- フレームのテクスチャを表すDirect3DRMTextureオブジェクトのアドレスがセットされているポインタのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
フレームのローカル変換を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変換」
現在のフレームの横断状態を取得する。
構文
HRESULT GetTraversalOptions( LPDWORD lpdwFlags);
パラメータ
- lpdwFlags
- 現在の有効状態がセットされるDWORDへのポインタ。現在定義されているフラグは、次の通りである。
- D3DRMFRAME_RENDERENABLE
- このフレームまたはその子フレームをレンダリングすることを示す。
- D3DRMFRAME_PICKENABLE
- このフレームまたはその子フレーム中の、任意のビジュアルをピックすることを示す。
戻り値
次の値のうち1つを返す。
D3DRMERR_BADVALUE DDERR_INVALIDOBJECT DDERR_INVALIDPARAMS DD_OK
注意
このメソッドは、DirectX version 6.0とともに導入された。
指定の参照フレームを基準とするフレームの速度を取得する。速度は、ティック当たりの単位で指定される。詳細については、IDirect3DRM3::Tickを参照すること。
構文
HRESULT GetVelocity(
LPDIRECT3DRMFRAME3 lpRef,
LPD3DVECTOR lprvVel,
BOOL fRotVel
);
パラメータ
- lpRef
- 参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
- lprvVel
- フレームの速度がセットされるD3DVECTOR構造体のアドレス。
- fRotVel
- 直線速度を取得するときに、オブジェクトの回転速度を考慮するかどうかを指定するフラグ。このパラメータがTRUEの場合、オブジェクトの回転速度が計算に含まれる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
フレーム中のビジュアルのリストを取得する。
構文
HRESULT GetVisuals(
LPDWORD pdwNumVisuals, LPUNKNOWN *ppUnk
);
パラメータ
- pdwNumVisuals
- 返される予定のベクトル数を含むDWORD値へのポインタ。ppUnkがNULLならば、GetVisualsはフレームに含まれるビジュアル数を返す。ppUnkがNULLでない場合、DWORD値は実際に取り出されたビジュアル数を受け取る。
- ppUnk
- 初期化されるビジュアルの配列へのポインタ。これをNULLにセットすると、GetVisualsはフレームに含まれるビジュアル数を返すことになる。そうでない場合、これはpdwNumVisualsに対してユーザが割り当てた空間の配列となる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Zバッファモードを取得する。すなわち、Zバッファリングがイネーブルまたはディセーブルであるかどうかを確認する。
構文
D3DRMZBUFFERMODE GetZbufferMode( );
戻り値
D3DRMZBUFFERMODE列挙型のメンバの1つを返す。
参照
ワールド座標のlprvSrcパラメータ中のベクトルをモデル座標に変換して、その結果をlprvDstパラメータに返す。
構文
HRESULT InverseTransform(
D3DVECTOR *lprvDst,
D3DVECTOR *lprvSrc
);
パラメータ
- lprvDst
- 変換の結果がセットされるD3DVECTOR構造体のアドレス。
- lprvSrc
- 変換のソースであるD3DVECTOR構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
ベクトルの配列をワールドからモデル空間に変換する。
構文
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とともに導入された。
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パラメータで指定されているファイル中の最初のフレーム階層をロードする。このメソッドを呼び出したフレームは、新しいフレーム階層の親として使用される。デフォルトでは、パースペクティブ補正がオンである。
指定の参照フレームを基準として、指定の制約によって回転をロックした状態でフレームを対象のフレームに直面させる。
構文
HRESULT LookAt(
LPDIRECT3DRMFRAME3 lpTarget,
LPDIRECT3DRMFRAME3 lpRef,
D3DRMFRAMECONSTRAINT rfcConstraint
);
パラメータ
- lpTarget
- 対象として使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。
- lpRef
- 参照フレームとして使用されるDirect3DRMFrameオブジェクトを表す変数のアドレス。これはNULLにすることができる。NULLの場合、メソッドは参照フレームの変換マトリックスではなく、ローカルの変換マトリックスを使う。
- rfcConstraint
- D3DRMFRAMECONSTRAINT列挙型のメンバで、軸回転を制約するように指定する。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
回転と速度を指定の階層のすべてのフレームに適用する。
構文
HRESULT Move(
D3DVALUE delta
);
パラメータ
- delta
- 直線と回転速度に対する変化量。各要素における変更は、その要素の速度×deltaに等しい。これらの一方または両方の速度は、任意のフレームを起点として設定することができるが、システムは、自動的にデルタ時間を適用するので、親フレームを起点とした速度に変換する。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.