次の方法で共有


ID3DXBaseMesh::CloneMesh メソッド

ID3DXBaseMesh::CloneMesh メソッド

頂点宣言を使って、メッシュのコピーを作成する。

構文

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

パラメータ

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

戻り値

成功した場合は、D3D_OK を返す。

失敗した場合は、次のいずれかの値を返す。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
E_OUTOFMEMORY Microsoft® Direct3D® が呼び出しを完了するための十分なメモリを割り当てることができなかった。

注意

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

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

参照

ID3DXBaseMesh::CloneMeshFVFID3DXBaseMesh::GetDeclarationID3DXMesh::GetDeclarationID3DXPMesh::GetDeclarationD3DXDeclaratorFromFVF