次の方法で共有


ID3DXBaseMesh::GenerateAdjacency

メッシュ エッジのリストと、各エッジを共有する面のリストを生成します。

HRESULT 
GenerateAdjacency(
  FLOAT Epsilon,
  DWORD * pAdjacency
);

パラメータ

  • Epsilon
    位置の違いが Epsilon 未満の頂点を同じ位置の頂点として扱うことを指定します。
  • pAdjacency
    面ごとの 3 つの DWORD 値を格納する配列へのポインターです。この配列に隣接する面のインデックスが格納されます。この配列内のバイト数は、(3 * ID3DXBaseMesh::GetNumFaces * sizeof(DWORD)) 以上でなければなりません。

戻り値

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

解説 

メッシュに関する隣接性情報をアプリケーションが生成した後、描画パフォーマンスを向上させるために、メッシュ データを最適化することができます。

隣接性バッファー内ーのエントリの順序は、インデックス バッファー内の頂点インデックスの順序によって決まります。隣接する三角形 0 は、常にコーナー 0 と 1 のインデックス間のエッジに対応します。隣接する三角形 1 は、常にコーナー 1 と 2 のインデックス間のエッジに対応し、隣接する三角形 2 はコーナー 2 と 0 のインデックス間のエッジに対応します。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

ID3DXMesh::Optimize, ID3DXMesh::OptimizeInplace