次の方法で共有


ID3DXBaseMesh::CloneMesh メソッド

宣言子を使用してメッシュを複製します。

構文

HRESULT CloneMesh(
  [in]                DWORD             Options,
  [in]          const D3DVERTEXELEMENT9 *pDeclaration,
  [in]                LPDIRECT3DDEVICE9 pDevice,
  [out, retval]       LPD3DXMESH        *ppCloneMesh
);

パラメーター

オプション [in]

種類: DWORD

メッシュの作成オプションを指定する 1 つ以上の D3DXMESH フラグの組み合わせ。

pDeclaration [in]

型: const D3DVERTEXELEMENT9*

出力メッシュ内の頂点の頂点形式を指定する D3DVERTEXELEMENT9 要素の配列。

pDevice [in]

種類: LPDIRECT3DDEVICE9

メッシュに関連付けられているデバイス オブジェクトを表す IDirect3DDevice9 インターフェイスへのポインター。

ppCloneMesh [out, retval]

種類: LPD3DXMESH*

複製されたメッシュを表す ID3DXMesh インターフェイスへのポインターのアドレス。

戻り値

種類: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

解説

ID3DXBaseMesh::CloneMesh は、頂点データ レイアウトの再フォーマットと変更に使用されます。 これを行うには、新しいメッシュ オブジェクトを作成します。 たとえば、法線、テクスチャ座標、色、重みなどのスペースを追加するために使用します。以前は存在しなかった。

ID3DXBaseMesh::UpdateSemantics は、頂点バッファーのレイアウトを変更せずに、異なるセマンティック情報で頂点宣言を更新します。 このメソッドは、頂点バッファーの内容を変更しません。 たとえば、3D テクスチャ座標のラベルを二項または正接として、またはその逆のラベルを付け直すために使用します。

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

関連項目

ID3DXBaseMesh

ID3DXBaseMesh::CloneMeshFVF

D3DXDeclaratorFromFVF