普通はFVFを使うときはそれに対になる構造体を宣言して、その構造体の大きさを調べます。例えば、D3DFVF_XYZ|D3DFVF_NORMALというフラグの組み合わせであればtypedefstruct{D3DXVECTOR3pos;D3DXVECTOR3normal;}FMT_VERTEX;などのように構造体を作って使用するので、頂点のサイズが知りたい場合はsizeof(FMT_VERTEX)でサイズを得ます。FVFの定数自体はただの識別子なので、サイズ情報は持ちえてません。普通は構造体を使わないとまともに使用できないFVF(単一ストリームだから)なので、コレが一番一般的な方法かと思います。FVFを使用するよりは多少面倒でも頂点宣言をして、各頂点情報を複数ストリームに分けたほうが後々便利だとは思いますけどね。
|