アプリケーションは、面と互いにやり取りするためにIDirect3DRMFace2インターフェイスのメソッドを使用する。面は、メッシュ上の1つのポリゴンである。アプリケーションは、IDirect3DRMFace2::SetColor、IDirect3DRMFace2::SetColorRGB、IDirect3DRMFace2::SetTexture、およびIDirect3DRMFace2::SetMaterialメソッドを使用して、面の色、テクスチャ、マテリアルをセットすることができる。
面は、IDirect3DRMFace2::AddVertexとIDirect3DRMFace2::AddVertexAndNormalIndexedメソッドを使用して頂点から構築する。アプリケーションは、IDirect3DRMFace2::GetVerticesとIDirect3DRMFace2::GetVertexメソッドを使用して面の頂点を読み込むことができる。
IDirect3DRMFace2では、SetTextureメソッドは、その幅と高さが2の累乗でないテクスチャを指定することができる。
IDirect3DRMFace2インターフェイスのメソッドは、以下のグループにまとめることができる。
すべてのCOMインターフェイスと同様、IDirect3DRMFace2インターフェイスはIUnknownインターフェイスメソッドを継承する。IUnknownインターフェイスは、以下の3つのメソッドをサポートする。
AddRef |
QueryInterface |
Release |
さらに、IDirect3DRMFace2インターフェイスは、IDirect3DRMObjectインターフェイスから次のメソッドを継承する。
AddDestroyCallback |
Clone |
DeleteDestroyCallback |
GetAppData |
GetClassName |
GetName |
SetAppData |
SetName |
Direct3DRMFace2オブジェクトは、IDirect3DRM3::CreateFaceメソッドの呼び出しによって取得される。
Direct3DRMFace2オブジェクトに頂点を追加する。
構文
HRESULT AddVertex(
D3DVALUE x,
D3DVALUE y,
D3DVALUE z
);
パラメータ
- x, y, z
- 新しい頂点位置のx、y、z座標。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
頂点と法線をDirect3DRMFace2オブジェクトに追加する。このとき、メッシュビルダに含まれる頂点のインデックスと法線のインデックスを使用する。面、頂点、法線は、Direct3DRMMeshBuilder3オブジェクトの一部でなくてはならない。
構文
HRESULT AddVertexAndNormalIndexed(
DWORD vertex,
DWORD normal
);
パラメータ
- vertex, normal
- 追加する頂点と法線のインデックス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトの色を取得する。
構文
D3DCOLOR GetColor( );
戻り値
色を返す。
参照
Direct3DRMFace2オブジェクトのマテリアルを取得する。
構文
HRESULT GetMaterial(
LPDIRECT3DRMMATERIAL *lplpMaterial
);
パラメータ
- lplpMaterial
- 面に適用されているDirect3DRMMaterialオブジェクトへのポインタを受け取る変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMFace2オブジェクトの法線ベクトルを取得する。
構文
HRESULT GetNormal(
D3DVECTOR *lpNormal
);
パラメータ
- lpNormal
- 面の法線ベクトルを受け取るD3DVECTOR構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトに適用されたテクスチャを取得する。
構文
HRESULT GetTexture(
LPDIRECT3DRMTEXTURE *lplpTexture
);
パラメータ
- lplpTexture
- 面に適用されたテクスチャへのポインタを受け取る変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
面のメッシュにある頂点のインデックスをテクスチャ座標で取得する。面を起点とする頂点インデックスをwhichパラメータで渡すと、このメソッドは、対応するメッシュを起点とする頂点インデックスを返す。
構文
int GetTextureCoordinateIndex(
DWORD which
);
パラメータ
- which
- 対応するメッシュ頂点インデックスを取り出し中の頂点の面内のインデックス。
戻り値
面のメッシュを起点とする頂点インデックスを返す。
Direct3DRMFace2オブジェクト中の頂点のテクスチャ座標を取得する。
構文
HRESULT GetTextureCoordinates(
DWORD index,
D3DVALUE *lpU,
D3DVALUE *lpV
);
パラメータ
- index
- 頂点のインデックス。
- lpU, lpV
- 点のテクスチャ座標を受け取る変数のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクト中の頂点の位置と法線を取得する。
構文
HRESULT GetVertex(
DWORD index,
D3DVECTOR *lpPosition,
D3DVECTOR *lpNormal
);
パラメータ
- index
- 頂点のインデックス。
- lpPosition, lpNormal
- 頂点の位置と法線を受け取るD3DVECTOR構造体のアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトの頂点の数を取得する。
構文
int GetVertexCount( );
戻り値
頂点の数を返す。
面のメッシュにある頂点のインデックスを取得する。面を起点とする頂点インデックスをwhichパラメータで渡すと、このメソッドは、対応するメッシュを起点とする頂点インデックスを返す。
構文
int GetVertexIndex (
DWORD which
);
パラメータ
- which
- 対応するメッシュ頂点インデックスを取り出し中の頂点の面内のインデックス。
戻り値
メッシュを起点とする頂点インデックスを返す。
Direct3DRMFace2オブジェクト中のそれぞれの頂点について、位置と法線ベクトルを取得する。
構文
HRESULT GetVertices(
DWORD *lpdwVertexCount,
D3DVECTOR *lpPosition,
D3DVECTOR *lpNormal
);
パラメータ
- lpdwVertexCount
- 頂点の数を受け取る変数のアドレス。このパラメータにNULLを指定することはできない。
- lpPosition, lpNormal
- 頂点の位置と法線ベクトルを受け取るD3DVECTOR構造体の配列。両方ともNULLの場合、このメソッドはlpdwVertexCountパラメータに頂点の数を格納する。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトの色を設定する。
構文
HRESULT SetColor(
D3DCOLOR color
);
パラメータ
- color
- 設定する色。赤、緑、青の色要素だけでなく、アルファ要素も必ずセットする。そうしないと、オブジェクトが可視にならないことがある。RGBA_MAKE DirectXマクロによってこれらの値を指定することができる。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMFace2オブジェクトの色をR, G, B値で設定する。
構文
HRESULT SetColorRGB(
D3DVALUE red,
D3DVALUE green,
D3DVALUE blue
);
パラメータ
- red, green, blue
- 赤、緑、青の色要素。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトにマテリアルをセットする。
構文
HRESULT SetMaterial(
LPDIRECT3DRMMATERIAL lpD3DRMMaterial
);
パラメータ
- lpD3DRMMaterial
- マテリアルのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
参照
Direct3DRMFace2オブジェクトにテクスチャをセットする。
構文
HRESULT SetTexture(
LPDIRECT3DRMTEXTURE lpD3DRMTexture
);
パラメータ
- lpD3DRMTexture
- テクスチャのアドレス。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
まず、DirectX Foundation 6については、テクスチャの幅と高さが2の累乗である必要はない。
参照
Direct3DRMFace2オブジェクト中の頂点のテクスチャ座標を設定する。
構文
HRESULT SetTextureCoordinates(
DWORD vertex,
D3DVALUE u,
D3DVALUE v
);
パラメータ
- vertex
- 設定する頂点のインデックス。たとえば、面が三角形のとき、頂点は0、1、2となる。
- u, v
- 指定された頂点に割り当てるテクスチャ座標。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
Direct3DRMFace2オブジェクトにテクスチャ位相を設定する。
構文
HRESULT SetTextureTopology(
BOOL cylU,
BOOL cylV
);
パラメータ
- cylU, cylV
- テクスチャがuとvのどちらの次元で円柱位相を持っているかを示す。
戻り値
成功すればD3DRM_OK、失敗すればエラーを返す。エラーのリストについては、「Direct3D保持モードの戻り値」を参照すること。
注意
いくつかのインターフェイスでSetTextureTopologyメソッドが提供される。SetTextureTopologyメソッドとの関係の詳細、およびcylU、cylVパラメータの目的に関する詳細については、「IDirect3DRMeshBuilder3::SetTextureTopology」を参照すること。
トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.