Microsoft DirectX 8.0 (C++) |
柔軟な頂点フォーマットの記述内でテクスチャ座標フォーマットの識別に使用されるビット パターンを作成する。このマクロの結果は、論理和演算子を使用して柔軟な頂点フォーマット内で結合できる。
D3DFVF_TEXCOORDSIZE1(CoordIndex) (D3DFVF_TEXTUREFORMAT1 << (CoordIndex*2 + 16)) D3DFVF_TEXCOORDSIZE2(CoordIndex) (D3DFVF_TEXTUREFORMAT2) D3DFVF_TEXCOORDSIZE3(CoordIndex) (D3DFVF_TEXTUREFORMAT3 << (CoordIndex*2 + 16)) D3DFVF_TEXCOORDSIZE4(CoordIndex) (D3DFVF_TEXTUREFORMAT4 << (CoordIndex*2 + 16))
D3DFVF_TEXCOORDSIZEn マクロでは、次の定数が使われる。
#define D3DFVF_TEXTUREFORMAT1 3 // 1 つの浮動小数点値 #define D3DFVF_TEXTUREFORMAT2 0 // 2 つの浮動小数点値 #define D3DFVF_TEXTUREFORMAT3 1 // 3 つの浮動小数点値 #define D3DFVF_TEXTUREFORMAT4 2 // 4 つの浮動小数点値
以下の柔軟な頂点フォーマットの記述は、位置、法線、ディフューズ色、スペキュラ色、および 2 つのテクスチャ座標セットを持つ頂点フォーマットを示している。1 つ目のテクスチャ座標セットには単一の要素が含まれ、2 つ目のセットには 2 つの要素が含まれる。
DWORD dwFVF = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_SPECULAR | D3DFVF_TEX2 | D3DFVF_TEXCOORDSIZE1(0) | \\ Uses 1-D texture coordinates for \\ texture coordinate set 1 (index 0). D3DFVF_TEXCOORDSIZE2(1); \\ And 2-D texture coordinates for \\ texture coordinate set 2 (index 1).
ヘッダー : D3d8types.h で宣言。