Microsoft® Direct3D®保持モードには、構造体または列挙型のどちらにも入らない、その他のタイプのC++の定義がある。それらを次に示す。
アニメーションの再生方法を定義する値を指定する。IDirect3DRMAnimation2::GetOptions、IDirect3DRMAnimation2::SetOptionsおよびD3DRMANIMATIONKEYで用いられる。
構文
typedef DWORD D3DRMANIMATIONOPTIONS; #define D3DRMANIMATION_CLOSED 0x02L #define D3DRMANIMATION_LINEARPOSITION 0x04L #define D3DRMANIMATION_OPEN 0x01L #define D3DRMANIMATION_POSITION 0x00000020L #define D3DRMANIMATION_SCALEANDROTATION 0x00000010L #define D3DRMANIMATION_SPLINEPOSITION 0x08L
パラメータ
- D3DRMANIMATION_CLOSED
- アニメーションは繰り返し再生され、終点に達すると開始点に戻ってループする。閉じられたアニメーションでは、終点から開始点へ滑らかに遷移させたい場合、アニメーションの最後のキーは最初のキーの繰り返しでなくてはならない。この繰り返しキーを利用して、ループするアニメーションにおける最後と最初のキー間の時間の差が表される。しかし、最後のキーが最初のキーの繰り返しでない場合、新しいインターフェイス (IDirect3DRMAnimation2, IDirect3DRMAnimationSet2) で、これは無視されなくなる。これは効果を生み、アニメーションは即時に開始点に戻る。
- D3DRMANIMATION_LINEARPOSITION
- アニメーションの位置は線形に設定される。
- D3DRMANIMATION_OPEN
- アニメーションは1回だけ再生され、停止する。
- D3DRMANIMATION_POSITION
- アニメーションの位置行列によって、他のメソッドが設定するどんな変換行列も上書きされる。
- D3DRMANIMATION_SCALEANDROTATION
- アニメーションのスケールと回転行列によって、他のメソッドが設定するどんな変換行列も上書きされる。
- D3DRMANIMATION_SPLINEPOSITION
- アニメーションの位置はスプラインで設定される。
デバイスがインプリメントするカラーモデルを示す。詳細についてはD3DCOLORMODEL列挙型を参照すること。
構文
typedef D3DCOLORMODEL D3DRMCOLORMODEL;
参照
IDirect3DRMInterpolator::Interpolateメソッドに対するオプションを定義する。それらのオプションは、オブジェクトのロードの仕方を変更する。
構文
typedef DWORD D3DRMINTERPOLATIONOPTIONS; #define D3DRMINTERPOLATION_OPEN 0x01L #define D3DRMINTERPOLATION_CLOSED 0x02L #define D3DRMINTERPOLATION_NEAREST 0x0100L #define D3DRMINTERPOLATION_LINEAR 0x04L #define D3DRMINTERPOLATION_SPLINE 0x08L #define D3DRMINTERPOLATION_VERTEXCOLOR 0x40L #define D3DRMINTERPOLATION_SLERPNORMALS 0x80L
パラメータ
- D3DRMINTERPOLATION_OPEN
- 各キーチェインの先頭と最後のキーが、インデックスの範囲外の補間値を修正する。
- D3DRMINTERPOLATION_CLOSED
- 補間は循環的である。キーは、実際には、インデックス範囲に等しい間隔で無限に繰り返す。アニメーションとの互換性のため、範囲の最後に等しいインデックスの任意のキーは、無視される。
- D3DRMINTERPOLATION_NEAREST
- 最近似のキー値が、各キーチェインの中間値を決定するために使用される(実行スレッド)。
- D3DRMINTERPOLATION_LINEAR
- 2つの最近似キー間の線形補間が、各キーチェインの中間値を決定するために使用される。
- D3DRMINTERPOLATION_SPLINE
- 4つの最近似キーに対するBスプライン混合関数が、各キーチェインの中間値を決定するために使用される。
- D3DRMINTERPOLATION_VERTEXCOLOR
- 頂点の色が補間されるように指定する。IDirect3DRMMesh::SetVerticesの補間だけに影響する。
- D3DRMINTERPOLATION_SLERPNORMALS
- 頂点の法線が球面補間されるように指定する(現在未実装)。IDirect3DRMMesh::SetVerticesの補間だけに影響する。
DIDirect3DRM3::Load、IDirect3DRMAnimationSet2::Load、IDirect3DRMFrame3::Load、IDirect3DRMMeshBuilder3::Load、およびIDirect3DRMProgressiveMesh::Loadメソッドのオプションを定義する。それらのオプションは、オブジェクトのロードの仕方を変更する。
構文
typedef DWORD D3DRMLOADOPTIONS; #define D3DRMLOAD_FROMFILE 0x00L #define D3DRMLOAD_FROMRESOURCE 0x01L #define D3DRMLOAD_FROMMEMORY 0x02L #define D3DRMLOAD_FROMURL 0x08L #define D3DRMLOAD_BYNAME 0x10L #define D3DRMLOAD_BYPOSITION 0x20L #define D3DRMLOAD_BYGUID 0x30L #define D3DRMLOAD_FIRST 0x40L #define D3DRMLOAD_INSTANCEBYREFERENCE 0x100L #define D3DRMLOAD_INSTANCEBYCOPYING 0x200L #define D3DRMLOAD_ASYNCHRONOUS 0x400L
パラメータ
- ソースフラグ
- D3DRMLOAD_FROMFILE
- ファイルからロードする。これはデフォルト設定である。
- D3DRMLOAD_FROMRESOURCE
- リソースからロードする。このフラグを指定した場合、Loadメソッドの呼び出しのlpvObjSourceパラメータは、D3DRMLOADRESOURCE構造体を指さなくてはならない。
- D3DRMLOAD_FROMMEMORY
- メモリからロードする。このフラグを指定した場合、Loadメソッドの呼び出しのlpvObjSourceパラメータは、D3DRMLOADMEMORY構造体を指さなくてはならない。
- D3DRMLOAD_FROMURL
- URLからロードする。
- 識別子フラグ
- D3DRMLOAD_BYNAME
- 指定された名前を使用してオブジェクトをロードする。
- D3DRMLOAD_BYPOSITION
- 与えられた、0から始まる位置に、スタンドアロンのオブジェクトをロードする(つまり、ファイル中のn番目のオブジェクトをロードする)。スタンドアロンのオブジェクトは他のオブジェクトを含むことができるが、他のオブジェクトに含まれることはない。
- D3DRMLOAD_BYGUID
- 指定されたグローバルユニーク識別子(GUID)を使用してオブジェクトをロードする。
- D3DRMLOAD_FIRST
- これはデフォルト設定である。与えられたタイプのスタンドアロンのオブジェクトをロードする(たとえば、アプリケーションがIDirect3DRMMeshBuilder3::Loadを呼び出す場合はメッシュをロードする)。スタンドアロンのオブジェクトは他のオブジェクトを含むことができるが、他のオブジェクトに含まれることはない。
- インスタンスフラグ
- D3DRMLOAD_INSTANCEBYREFERENCE
- 指定された名前と同じ名前のオブジェクトが存在するかどうかをチェックする。存在する場合、新しいオブジェクトを作成する代わりに、そのオブジェクトのインスタンスを使用する。
- D3DRMLOAD_INSTANCEBYCOPYING
- 指定された名前と同じ名前のオブジェクトが存在するかどうかをチェックする。存在する場合、新しいオブジェクトを作成する代わりに、そのオブジェクトをコピーする。
- ソースフラグ
- D3DRMLOAD_ASYNCHRONOUS
- Load呼び出しは、直ちに戻る。ロードの進行状態をチェックするのにイベントを使用するのは、アプリケーションの責任となる。デフォルトでは、ロードは、同期式で行われ、Load呼び出しは、すべてのデータのロードが完了するまで、またはエラーが発生するまでは戻らない。
注意
各Loadメソッドは、lpvObjSourceパラメータを使用してオブジェクトのソースを指定し、lpvObjIDパラメータによってオブジェクトを識別する。システムはソースフラグの選択に基づいてlpvObjSourceパラメータを解釈する。そして、識別子フラグの選択に基づいてlpvObjIDパラメータの内容を解釈する。
インスタンスフラグは、パラメータの解釈方法には何も変更を加えない。D3DRMLOAD_INSTANCEBYREFERENCEフラグを用いると、新しいオブジェクトを作成することなく同じファイルを2回ロードすることができる。オブジェクトが名前を持っていない場合、D3DRMLOAD_INSTANCEBYREFERENCEフラグをセットすると、D3DRMLOAD_INSTANCEBYCOPYINGフラグをセットしたときと同じ効果を得ることができる。ローダは、同一のオブジェクトが存在しても、各名前なしオブジェクトを新しいオブジェクトとして作成する。
テクスチャのグループへのマッピング方法を定義する値である。IDirect3DRMMesh::GetGroupMappingやIDirect3DRMMesh::SetGroupMappingメソッドによって用いられる。
構文
typedef DWORD D3DRMMAPPING, D3DRMMAPPINGFLAG; static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPU = 1; static const D3DRMMAPPINGFLAG D3DRMMAP_WRAPV = 2; static const D3DRMMAPPINGFLAG D3DRMMAP_PERSPCORRECT = 4;
パラメータ
- D3DRMMAPPINGFLAG
- D3DRMMAPPINGと型が同じ。
- D3DRMMAP_WRAPU
- u方向にテクスチャをラップする。
- D3DRMMAP_WRAPV
- v方向にテクスチャをラップする。
- D3DRMMAP_PERSPCORRECT
- テクスチャラッピングはパースペクティブ補正される。
注意
D3DRMMAP_WRAPUとD3DRMMAP_WRAPフラグは、ラスタライザがテクスチャ座標を解釈する方法を決定する。ラスタライザは常に、テクスチャ座標で最も短い距離、つまり直線を補間する。この直線のパスと、uおよびv座標の有効値は、ラッピングフラグの使い方によって異なる。一方または両方のフラグがセットされると、直線はuまたはv方向のテクスチャの辺をラップアラウンドする。この場合、テクスチャは円柱状かドーナツ上の位相を持っているかのように見える。詳細については「ラップ」を参照すること。
参照
「ラップ」, IDirect3DRMMesh::GetGroupMapping, IDirect3DRMMesh::SetGroupMapping
変換を行列として表す。行列エントリは、D3DRMMATRIX4D[row][column]から構成される。
構文
typedef D3DVALUE D3DRMMATRIX4D[4][4];
参照
IDirect3DRMFrame3::AddTransform, IDirect3DRMFrame3::GetTransform
IDirect3DRMMeshBuilder3::Saveメソッドのオプションを定義する。
構文
typedef DWORD D3DRMSAVEOPTIONS; #define D3DRMXOFSAVE_NORMALS 1 #define D3DRMXOFSAVE_TEXTURECOORDINATES 2 #define D3DRMXOFSAVE_MATERIALS 4 #define D3DRMXOFSAVE_TEXTURENAMES 8 #define D3DRMXOFSAVE_ALL 15 #define D3DRMXOFSAVE_TEMPLATES 16 #define D3DRMSAVE_TEXTURETOPOLOGY 32
パラメータ
- D3DRMXOFSAVE_NORMALS
- 基本的な面に加え、法線ベクトルを保存する。
- D3DRMXOFSAVE_TEXTURECOORDINATES
- 基本的な面に加え、テクスチャ座標を保存する。
- D3DRMXOFSAVE_MATERIALS
- 基本的な面に加え、マテリアルを保存する。
- D3DRMXOFSAVE_TEXTURENAMES
- 基本的な面に加え、テクスチャの名前を保存する。
- D3DRMXOFSAVE_ALL
- 基本的な面に加え、法線ベクトル、テクスチャ座標、マテリアル、テクスチャの名前を保存する。
- D3DRMXOFSAVE_TEMPLATES
- ファイルのテンプレートを保存する。デフォルトではテンプレートは保存されない。
- D3DRMSAVE_TEXTURETOPOLOGY
- メッシュの面ラップ値 (IDirect3DRMMeshBuilder3::SetTextureTopologyまたはIDirect3DRMFace2::SetTextureTopologyにより設定される)を保存する。このフラグは、SaveメソッドにD3DRMXOFSAVE_ALLを渡した場合には含まれない。すべてを本当に保存したければ、D3DRMSAVE_TEXTURETOPOLOGY|D3DRMXOFSAVE_ALLを渡す。IDirect3DRMMeshBuilder3::SetTextureTopologyまたはIDirect3DRMFace2::SetTextureTopologyを呼び出し、設定した値を保持したい場合は、このフラグを渡すだけでよい。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.