DX學習記錄-頂點結構

在DX例子中有這樣一個頂點結構

開始我以爲自定義的頂點結構體裏成員的順序一定要和下面設置的宏的順序一樣,後面一想就發現SB了。因爲是按位或操作根本不存在先後順序嘛。

但是自定義的結構體結構肯定是有格式規定的,於是在SDK文檔裏找到了說明:

This table maps flexible vertex format (FVF) codes to a D3DVERTEXELEMENT9 structure.

FVFData typeUsageUsage index
D3DFVF_XYZ D3DDECLTYPE_FLOAT3 D3DDECLUSAGE_POSITION 0
D3DFVF_XYZRHW D3DDECLTYPE_FLOAT4 D3DDECLUSAGE_POSITIONT 0
D3DFVF_XYZW D3DDECLTYPE_FLOAT4 D3DDECLUSAGE_POSITION 0
D3DFVF_XYZB5 and D3DFVF_LASTBETA_UBYTE4 D3DVSDT_FLOAT3

D3DVSDT_FLOAT4

D3DVSDT_UBYTE4

D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT

D3DDECLUSAGE_BLENDINDICES
0
D3DFVF_XYZB5 and D3DFVF_LASTBETA_D3DCOLOR D3DVSDT_FLOAT3

D3DVSDT_FLOAT4

D3DVSDT_D3DCOLOR

D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT

D3DDECLUSAGE_BLENDINDICES
0
D3DFVF_XYZB5 D3DDECLTYPE_FLOAT3

D3DDECLTYPE_FLOAT4

D3DDECLTYPE_FLOAT1

D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT

D3DDECLUSAGE_BLENDINDICES
0
D3DFVF_XYZBn (n=1..4) D3DDECLTYPE_FLOAT3

D3DDECLTYPE_FLOATn
D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT
0
D3DFVF_XYZBn (n=1..4) and D3DFVF_LASTBETA_UBYTE4 D3DDECLTYPE_FLOAT3

D3DDECLTYPE_FLOAT(n-1)

D3DDECLTYPE_UBYTE4
D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT

D3DDECLUSAGE_BLENDINDICES
0
D3DFVF_XYZBn (n=1..4) and D3DFVF_LASTBETA_D3DCOLOR D3DDECLTYPE_FLOAT3

D3DDECLTYPE_FLOAT(n-1)

D3DDECLTYPE_D3DCOLOR
D3DDECLUSAGE_POSITION

D3DDECLUSAGE_BLENDWEIGHT

D3DDECLUSAGE_BLENDINDICES
0
D3DFVF_NORMAL D3DDECLTYPE_FLOAT3 D3DDECLUSAGE_NORMAL 0
D3DFVF_PSIZE D3DDECLTYPE_FLOAT1 D3DDECLUSAGE_PSIZE 0
D3DFVF_DIFFUSE D3DDECLTYPE_D3DCOLOR D3DDECLUSAGE_COLOR 0
D3DFVF_SPECULAR D3DDECLTYPE_D3DCOLOR D3DDECLUSAGE_COLOR 1
D3DFVF_TEXCOORDSIZEm(n) D3DDECLTYPE_FLOATm D3DDECLUSAGE_TEXCOORD n

 

拜拜!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章