Microsoft DirectX 8.0 (Visual Basic) |
Microsoft® DirectX® (.x) ファイルに格納されているポイント表現データを面隣接性情報に変換する。面隣接性情報は、最適化および単純化の操作においてより優れた柔軟性をもたらす。
object.ConvertPointRepsToAdjacency( _ PointRep As Any, _ FaceAdjacency As Any)
失敗した場合はエラーが発生し、Err.Number に次のいずれかの値が設定される。
D3DERR_INVALIDCALL |
E_OUTOFMEMORY |
エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。
ポイント表現は、異なる放線座標、u 座標と v 座標、カラー データなどを使用するのではなく、同じ x 座標、y 座標、z 座標で 2 つの頂点を融合することにより、メッシュの隣接性を記述する方法である。完全になめらかな (しわ、境界、または穴がない) メッシュでは、ポイント表現は冗長である。その場合、ハッシュ テーブルを使用して頂点インデックスを共有するエッジを検索することによって、隣接する三角形を計算することができる。しわおよびテクスチャ境界の場合は、メッシュ内の頂点を構成する共に配置されている頂点グループのハッシュ テーブルで使用する一意の頂点インデックスを指定するために、ポイント表現が必要となる。
次のサンプル コードは、D3DXBuffer オブジェクトを使用して隣接性情報を渡す方法を示している。
Dim d3dxbAdjacency As D3DXBuffer Dim PointRep As Any ' このコードでは d3dxbAdjacency および PointRep が正しく ' 初期化されていると仮定している。 Call D3DX8.ConvertPointRepsToAdjacency(ByVal PointRep.GetBufferPointer, ByVal d3dxbAdjacency.GetBufferPointer)