Salut,
J'ai crée un vertexbuffer contenant 30 polygones et je voudrais du 1 au 15 mettre une texture et du 16 au 30 en mettre une autre.
J'ai donc fais ça :
Mais ça fonctionne pas ça me met n'importe quoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 g_pd3dDevice->SetTexture( 0, g_pTexture[0] ); g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(Vertex) ); g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX ); g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 15); g_pd3dDevice->SetTexture( 0, g_pTexture[1] ); g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(Vertex) ); g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX ); g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 16, 30);
Par exemple si je met :
Il me manque 4 polygones c'est normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 g_pd3dDevice->SetTexture( 0, g_pTexture[0] ); g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(Vertex) ); g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX ); g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 0, 26);
Et si ensuite je remplace par :
Je devrais normallement voir seulement les 4 polygones qui manquaient avant, mais en fait il y en a une dizaine ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 g_pd3dDevice->SetTexture( 0, g_pTexture[0] ); g_pd3dDevice->SetStreamSource( 0, g_pVertexBuffer, 0, sizeof(Vertex) ); g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX ); g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLELIST, 26, 30);
Partager