|
|
怎么样把一个Texture贴到一个平面的前后两面,效果就像扑克牌一样
是做4个顶点还是做8个顶点?
我这么做
pVertices[0].position = D3DXVECTOR3(-1.0f,1.0f,0.0f);
pVertices[0].tu = 0.0f;
pVertices[0].tv = 0.0f;
pVertices[1].position = D3DXVECTOR3(1.0f,1.0f,0.0f);
pVertices[1].tu = 0.5f;
pVertices[1].tv = 0.0f;
pVertices[2].position = D3DXVECTOR3(1.0f,-1.0f,0.0f);
pVertices[2].tu = 0.5f;
pVertices[2].tv = 1.0f;
pVertices[3].position = D3DXVECTOR3(-1.0f,-1.0f,0.0f);
pVertices[3].tu = 0.0f;
pVertices[3].tv = 1.0f;
pVertices[4].position = D3DXVECTOR3(-1.0f,1.0f,0.0f);
pVertices[4].tu = 0.5f;
pVertices[4].tv = 0.0f;
pVertices[5].position = D3DXVECTOR3(1.0f,1.0f,0.0f);
pVertices[5].tu = 1.0f;
pVertices[5].tv = 0.0f;
pVertices[6].position = D3DXVECTOR3(1.0f,-1.0f,0.0f);
pVertices[6].tu = 1.0f;
pVertices[6].tv = 1.0f;
pVertices[7].position = D3DXVECTOR3(-1.0f,-1.0f,0.0f);
pVertices[7].tu = 0.5f;
pVertices[7].tv = 1.0f;
设置了8个顶点,然后加载Texture,为什么背面纹理贴不上去?
SetupMatrices();
g_pd3dDevice->SetTexture(0,g_pTexture);
g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
g_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
g_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_DISABLE );
g_pd3dDevice->SetSamplerState(0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
g_pd3dDevice->SetSamplerState(0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
g_pd3dDevice->SetSamplerState(0,D3DSAMP_ADDRESSU,D3DTADDRESS_WRAP);
g_pd3dDevice->SetSamplerState(0,D3DSAMP_ADDRESSV,D3DTADDRESS_WRAP);
g_pd3dDevice->SetStreamSource(0,g_pVB,0,sizeof(CUSTOMVERTEX));
g_pd3dDevice->SetFVF(D3DFVF_CUSTOMVERTEX);
//D3DFVF_CUSTOMEVERTEX 3DFVF_XYZ|D3DFVF_TEX1
g_pd3dDevice->DrawPrimitive(D3DPT_TRIANGLEFAN,0,4);
请指点一下 |
|