Microsoft DirectX 8.0 (C++) |
単純化メッシュを作成する。
HRESULT D3DXCreateSPMesh( LPD3DXMESH pMesh, CONST DWORD* pAdjacency, CONST LPD3DXATTRIBUTEWEIGHTS pVertexAttributeWeights, CONST FLOAT* pVertexWeights, LPD3DXSPMESH* ppSMesh );
成功した場合は D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
D3DXERR_CANNOTATTRSORT |
D3DERR_INVALIDCALL |
E_OUTOFMEMORY |
単純化メッシュは、メッシュを単純化して、三角形と面の数を減らすために使用する。
pVertexAttributeWeights を NULL に設定した場合、次に示す値がデフォルトの D3DXATTRIBUTEWEIGHTS 構造体に割り当てられる。
D3DXATTRIBUTEWEIGHTS AttributeWeights; AttributeWeights.Position = 1.0; AttributeWeights.Boundary = 1.0; AttributeWeights.Normal = 1.0; AttributeWeights.Diffuse = 0.0; AttributeWeights.Specular = 0.0; AttributeWeights.Tex[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
通常のアプリケーションでは、このデフォルトの構造体を使用すべきである。理由は、この構造体がジオメトリと法線の調整のみを目的としているからである。その他のメンバ フィールドを修正する必要があるのは、特別な場合のみである。
ヘッダー : D3dx8mesh.h で宣言。
インポート ライブラリ : D3dx8.lib を使用。