1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
// def de customvertex
struct CUSTOMVERTEX
{
FLOAT x, y, z;
DWORD color
};
// variables
LPDIRECT3D8 g_pD3D = NULL;
LPDIRECT3DDEVICE8 g_pd3dDevice = NULL;
LPDIRECT3DVERTEXBUFFER8 g_pVB = NULL;
--> à placer dans ton initialisation
// on définie les vertex
D3DVERTEX CubeVertices[ ] =
{ {-1.0f,-1.0f,-1.0f,0.0f,1.0f},
{-1.0f, 1.0f,-1.0f,0.0f,0.0f},
{ 1.0f, 1.0f,-1.0f,1.0f,0.0f},
{ 1.0f,-1.0f,-1.0f,1.0f,1.0f},
{-1.0f,-1.0f, 1.0f,0.0f,0.0f},
{1.0f,-1.0f, 1.0f,0.0f,1.0f},
{ 1.0f, 1.0f, 1.0f,0.0f,0.0f},
{-1.0f, 1.0f, 1.0f,0.0f,1.0f} };
// on implémente le vertex buffer
if( FAILED( g_pd3dDevice->CreateVertexBuffer( 3*sizeof(CUSTOMVERTEX),
0, D3DFVF_CUSTOMVERTEX,
D3DPOOL_DEFAULT, &g_pVB ) ) )
{
return E_FAIL;
}
// ... puis on le "rempli"
VOID * pVertices;
if( FAILED( g_pVB->Lock( 0, sizeof(CubeVertices), (BYTE**)&pVertices, 0 ) ) )
return E_FAIL;
memcpy( pVertices, CubeVertices, sizeof(CubeVertices) );
g_pVB->Unlock();
-->à placer dans ta fonction te permettant de calculer les matrices du monde
// l'objet va tourner sur lui même
D3DXMATRIX matWorld;
D3DXMatrixRotationY( &matWorld, timeGetTime()/150.0f );
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld ); |
Partager