D3DFVF_TEXCOORDSIZEN
フレキシブル頂点フォーマット (FVF) の記述内でテクスチャー座標フォーマットを指定するのに使われるビット パターンを作成します。OR operatorを使用すれば、FVF の記述内でこれらのマクロの結果を結合できます。
#define D3DFVF_TEXCOORDSIZEN(CoordIndex)
#define D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16))
#define D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2)
#define D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16))
#define D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
パラメータ
- CoordIndex
テクスチャー座標サイズ (1D、2D、3D、または 4D) が適用されるテクスチャー座標セットを指定する値です。
解説
D3DFVF_TEXCOORDSIZEN マクロでは、以下の定数が使用されます。
#define D3DFVF_TEXTUREFORMAT1 3 // one floating point value #define D3DFVF_TEXTUREFORMAT2 0 // two floating point values #define D3DFVF_TEXTUREFORMAT3 1 // three floating point values #define D3DFVF_TEXTUREFORMAT4 2 // four floating point values
次の FVF の記述は、位置、法線、ディフューズ カラー、スペキュラ カラー、および 2 組のテクスチャー座標を持つ頂点フォーマットを示しています。1 組目のテクスチャー座標には 1 つの要素が含まれ、2 組目には 2 つの要素が含まれます。
DWORD dwFVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX2 | D3DFVF_TEXCOORDSIZE1(0) | // Uses 1D texture coordinates for // texture coordinate set 1 (index 0). D3DFVF_TEXCOORDSIZE2(1); // And 2D texture coordinates for // texture coordinate set 2 (index 1).
要件
ヘッダー: D3d9types.h 宣言