D3DXTessellateNPatches

N パッチのテッセレーション スキームを使用して、指定したメッシュをテッセレーションします。

HRESULT 
D3DXTessellateNPatches(
  LPD3DXMESH pMeshIn,
  CONST CONST DWORD * pAdjacencyIn,
  FLOAT NumSegs,
  BOOL QuadraticInterpNormals,
  LPD3DXMESH * ppMeshOut,
  LPD3DXBUFFER * ppAdjacencyOut
);

パラメータ

  • pMeshIn
    ID3DXMesh インターフェイスへのポインターです。テッセレーションされるメッシュを示します。
  • pAdjacencyIn
    3 つの DWORD 値を格納する配列へのポインターです。この配列によって、ソース メッシュの各面に隣接した 3 つの面を定義します。このパラメーターは NULL 値でもかまいません。
  • NumSegs
    テッセレーションを適用するときのエッジあたりのセグメント数です。
  • QuadraticInterpNormals
    法線の 2 次補間を使用する場合は TRUE に設定し、線形補間を使用する場合は FALSE に設定します。
  • ppMeshOut
    ID3DXMesh インターフェイスへのポインターのアドレスです。返されるテッセレーションされたメッシュを表します。
  • ppAdjacencyOut
    ID3DXBuffer インターフェイスへのポインターのアドレスです。このパラメーターの値の設定が NULL> でない場合、このバッファーには面ごとに 3 つの DWORD を持つ配列が格納されます。この DWORD は、出力メッシュで各面に隣接した 3 つの面を定義します。このパラメーターは NULL 値でもかまいません。

戻り値

成功すると、D3D_OK を返します。失敗した場合は、次のいずれかの値を返します。D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA、E_OUTOFMEMORY

解説 

この関数は、N パッチ アルゴリズムを使用してメッシュにテッセレーションを適用します。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容