typedef struct tagKMVERTEX13 { KMDWORD ParamControlWord; KMFLOAT fX; KMFLOAT fY; union{ KMFLOAT fZ; KMFLOAT fInvW; } u; KMFLOAT fU0m; KMFLOAT fV0m; KMFLOAT fBaseIntensity0m; KMFLOAT fOffsetIntensity0m; KMFLOAT fU1m; KMFLOAT fV1m; KMFLOAT fBaseIntensity1m; KMFLOAT fOffsetIntensity1m; KMDWORD Reserved0; KMDWORD Reserved1; KMDWORD Reserved2; KMDWORD Reserved3; }KMVERTEX13,*PKMVERTEX13; typedef KMVERTEX13 KMVERTEX_13,*PKMVERTEX_13;
ParamControlWord 頂点の種類 fX 頂点のX座標 fY 頂点のY座標 fZ(fInvW) 頂点のZ座標 fU0m テクスチャのU値その0 fV0m テクスチャのV値その0 fBaseIntensity0m ベースのインテンシティ値その0 fOffsetIntensity0m オフセットのインテンシティ値その0 fU1m テクスチャのU値その1 fV1m テクスチャのV値その1 fBaseIntensity1m ベースのインテンシティ値その1 fOffsetIntensity1m オフセットのインテンシティ値その1 Reserved0〜3 システム予約
タイプ13の頂点を定義する構造体です。タイプ13の頂点は、以下の属性を持ちます。
メンバ ParamControlWordは、その頂点がストリップの最後の頂点であるかそうでないかを意味します。 以下の値が定義されています。
- テクスチャあり
- フロート形式カラー
- インテンシティ
- 2パラメータ
定義 意味 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