typedef struct tagKMVERTEX16 { KMDWORD ParamControlWord; KMFLOAT fAX; KMFLOAT fAY; union{ KMFLOAT fAZ; KMFLOAT fAInvW; } uA; KMFLOAT fBX; KMFLOAT fBY; union{ KMFLOAT fBZ; KMFLOAT fBInvW; } uB; KMFLOAT fCX; KMFLOAT fCY; union{ KMFLOAT fCZ; KMFLOAT fCInvW; } uC; KMFLOAT fDX; KMFLOAT fDY; KMDWORD Reserved0; KMDWORD dwUVA; KMDWORD dwUVB; KMDWORD dwUVC; }KMVERTEX16,*PKMVERTEX16; typedef KMVERTEX16 KMVERTEX_16,*PKMVERTEX_16;
ParamControlWord 頂点の種類 fAX 頂点AのX座標 fAY 頂点AのY座標 fAZ(fAInvW) 頂点AのZ座標 fBX 頂点BのX座標 fBY 頂点BのY座標 fBZ(fBInvW) 頂点BのZ座標 fCX 頂点CのX座標 fCY 頂点CのY座標 fCZ(fCInvW) 頂点CのZ座標 fDX 頂点DのX座標 fDY 頂点DのY座標 Reserved0 システム予約 dwUVA 頂点AのUV値(コンパクト形式) dwUVB 頂点BのUV値(コンパクト形式) dwUVC 頂点CのUV値(コンパクト形式)
タイプ16の頂点を定義する構造体です。タイプ16の頂点は、以下の属性を持ちます。
メンバ ParamControlWordは、その頂点がストリップの最後の頂点であるかそうでないかを意味します。 以下の値が定義されています。
- テクスチャあり
- スプライト
定義 意味 KM_VERTEXPARAM_NORMAL 通常の頂点 KM_VERTEXPARAM_ENDOFSTRIP 最後の頂点
頂点のZ座標を示すfZ(またはfInvW)の値は1/z で、値の範囲は 0f〜1f です。
頂点構造体は次のように定義されています。
定義 意味 KMVERTEX0 Non-Textured Packed Color KMVERTEX1 Non-Textured Floating Color KMVERTEX2 Non-Textured Intensity KMVERTEX3 Textured Packed Color KMVERTEX4 Textured Packed Color CompactUV KMVERTEX5 Floating Color KMVERTEX6 Floating Color CompactUV KMVERTEX7 Intensity KMVERTEX8 Intensity CompactUV KMVERTEX9 Non Textured Packed Color with Two Volumes KMVERTEX10 Non Textured Intensity with Two Volumes KMVERTEX11 Textured Packed Color Modifier Volume Variant KMVERTEX12 Textured Packed Color CompactUV Modifier Volume Variant KMVERTEX13 Textured Intensity Modifier Volume Variant KMVERTEX14 Textured Intensity CompactUV Modifier Volume Variant KMVERTEX15 Sprite KMVERTEX16 Sprite KMVERTEX17 Modifier Volume