|
|
我有两个VB
VB1的FVF是 D3DFVF_XYZ|D3DFVF_TEX1
VB2是 D3DFVF_XYZ|D3DFVF_DIFFUSE
一个纹理 TEX
我打开了D3DRS_ZENABLE 关闭了 D3DRS_LIGHTING
g_pd3dDevice->SetTexture( 0, TEX );
g_pd3dDevice->SetStreamSource( 0, VB1, 0, sizeof(D3DXVECTOR3)+sizeof(D3DXVECTOR2) );
g_pd3dDevice->SetFVF( D3DFVF_XYZ|D3DFVF_TEX1 );
g_pd3dDevice->DrawPrimitive( ..... );
g_pd3dDevice->SetStreamSource( 0, VB2, 0, sizeof(D3DXVECTOR3)+sizeof(DWORD) );
g_pd3dDevice->SetFVF( D3DFVF_XYZ|D3DFVF_DIFFUSE);
g_pd3dDevice->DrawPrimitive( ..... );
VB1正确渲染 VB2的FVF并没有包含纹理 却画出来了TEX 这是怎么回事?
如何让VB2以 D3DFVF_XYZ|D3DFVF_DIFFUSE 的格式正确渲染? |
|