3D BOXE
Hello, where I can find a tutoriel for create one 3Dboxe?

This Work Really i Have this make 
LPD3DXMESH pSphereMesh = NULL;
LPD3DXMESH pBoxMesh = NULL;
D3DXMATRIX ObjWorldMatrices;
D3DXMATRIX SavedMatrices;
LPDIRECT3DTEXTURE9 tRed = NULL;
LPDIRECT3DTEXTURE9 tBlue = NULL;
const BYTE bRed[] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00};
const BYTE bBlue[] = {0x42, 0x4D, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x36, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00};
D3DXCreateSphere( pDevice, 155.0f, 8, 7, &pSphereMesh, 0); D3DXCreateBox( pDevice,100,322,100, &pBoxMesh, 0); D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&bRed , sizeof(bRed) , &tRed ); D3DXCreateTextureFromFileInMemory(pDevice, (LPCVOID)&bBlue , sizeof(bBlue) , &tBlue );
D3DXVECTOR3 GetMidPoint(D3DXVECTOR3 V1,D3DXVECTOR3 V2)
{
D3DXVECTOR3 Mid;
Mid.x = (V1.x+V2.x)/2;
Mid.y = (V1.y+V2.y)/2;
Mid.z = (V1.z+V2.z)/2;
return Mid;
}
void DrawSphere(D3DXVECTOR3 Pos)
{
pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_NEVER );
pDevice->GetTransform(D3DTS_WORLD, &SavedMatrices );
D3DXMatrixTranslation(&ObjWorldMatrices, Pos.x, Pos.y, Pos.z);
pDevice->SetTransform(D3DTS_WORLD, &ObjWorldMatrices);
pDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_WIREFRAME);
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
pDevice->SetRenderState( D3DRS_FOGENABLE, false );
pSphereMesh->DrawSubset(0);
pDevice->SetTransform(D3DTS_WORLD, &SavedMatrices );
}
void Draw3DBox(D3DXVECTOR3 Pos)
{
pDevice->SetRenderState( D3DRS_ZENABLE, D3DZB_FALSE );
pDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_NEVER );
pDevice->GetTransform(D3DTS_WORLD, &SavedMatrices );
D3DXMatrixTranslation(&ObjWorldMatrices, Pos.x, Pos.y, Pos.z);
pDevice->SetTransform(D3DTS_WORLD, &ObjWorldMatrices);
pDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_WIREFRAME);
pDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
pDevice->SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );
pDevice->SetRenderState( D3DRS_FOGENABLE, false );
pBoxMesh->DrawSubset(0);
pDevice->SetTransform(D3DTS_WORLD, &SavedMatrices );
}