D3D9 和 D3D8 声明之间的映射
此表将 D3DVERTEXELEMENT9 声明的成员映射到 Direct3D 8 声明。
Direct3D 9 用法 | Direct3D 9 使用情况索引 | Direct3D 8 |
---|---|---|
D3DDECLUSAGE_POSITION | 0 | D3DVSDE_POSITION |
D3DDECLUSAGE_POSITION | 1 | D3DVSDE_POSITION2 |
D3DDECLUSAGE_NORMAL | 0 | D3DVSDE_NORMAL |
D3DDECLUSAGE_NORMAL | 1 | D3DVSDE_NORMAL2 |
D3DDECLUSAGE_BLENDWEIGHT | 0 | D3DVSDE_BLENDWEIGHT |
D3DDECLUSAGE_BLENDINDICES | 0 | D3DVSDE_BLENDINDICES |
D3DDECLUSAGE_PSIZE | 0 | D3DVSDE_PSIZE |
D3DDECLUSAGE_COLOR | 0 | D3DVSDE_DIFFUSE |
D3DDECLUSAGE_COLOR | 1 | D3DVSDE_SPECULAR |
D3DDECLUSAGE_TEXCOORD | n | D3DVSDE_TEXCOORDn |
当声明与 Direct3D 7 驱动程序上的硬件顶点处理一起使用时,Direct3D 运行时会使用以下规则将其转换为 FVF:
- 仅应使用流 0, (MaxStreams 上限) 明显。
- 顶点元素的顺序应与 FVF 位的顺序相同。
- 不允许纹理坐标中的间隙。
- 表未描述的任何顶点元素都不能转换为所有预 DirectX 8 驱动程序的有效 FVF,因此不能在这些驱动程序上使用。
- 如果设备未设置D3DPTEXTURECAPS_PROJECTED或D3DPTEXTURECAPS_CUBEMAP上限,则仅允许D3DDECLUSAGE_TEXCOORD顶点元素D3DDECLTYPE_FLOAT2。
相关主题