次の方法で共有


ID3DXBaseMesh::CloneMesh

宣言子を使用してメッシュのコピーを作成します。

HRESULT 
CloneMesh(
  DWORD Options,
  CONST D3DVERTEXELEMENT9 * pDeclaration,
  LPDIRECT3DDEVICE9 pDevice,
  LPD3DXMESH * ppCloneMesh
);

パラメータ

  • Options
    メッシュの作成オプションを指定する D3DXMESH フラグの 1 つ以上の組み合わせです。
  • pDeclaration
    出力メッシュの頂点の頂点フォーマットを指定する D3DVERTEXELEMENT9 要素の配列です。
  • pDevice
    メッシュに関連付けられたデバイス オブジェクトを表す IDirect3DDevice9 インターフェイスへのポインターです。
  • ppCloneMesh
    コピーするメッシュを表す ID3DXMesh インターフェイスへのポインターのアドレスです。

戻り値

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

解説 

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

ID3DXBaseMesh::UpdateSemantics は、頂点バッファーのレイアウトを変更することなく、頂点宣言を異なったセマンティクス情報で更新します。このメソッドの呼び出しによって頂点バッファーの内容が変化することはありません。たとえば、3D テクスチャー座標のラベルを従法線や接線に変更する場合や、その逆に変更する場合に使用します。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

ID3DXBaseMesh::CloneMeshFVF, D3DXDeclaratorFromFVF