|
Wenn du schon ein Window mit DirectX erstellen kannst dann schau
dir mal diese schritte an.
Laden kannst du Modelle mithilfe von: D3DXLoadMeshFromX
Bsp:
//////////////////////////////////////////////////
LPD3DXBUFFER pD3DXMtrlBuffer;
LPD3DXMESH g_pMesh = NULL;
D3DMATERIAL9 *g_pMeshMaterials = NULL;
LPDIRECT3DTEXTURE9 *g_pMeshTextures = NULL;
unsigned long g_dwNumMaterials = 0L;
D3DXLoadMeshFromX( "deinmodel.x", D3DXMESH_SYSTEMMEM,
g_pd3dDevice, NULL,
&pD3DXMtrlBuffer, NULL, &g_dwNumMaterials,
&g_pMesh );
D3DXMATERIAL *d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer();
g_pMeshMaterials = new D3DMATERIAL9[g_dwNumMaterials];
g_pMeshTextures = new LPDIRECT3DTEXTURE9[g_dwNumMaterials];
for( unsigned long i = 0; i < g_dwNumMaterials; ++i )
{
g_pMeshMaterials[i] = d3dxMaterials[i].MatD3D;
g_pMeshMaterials[i].Ambient = g_pMeshMaterials[i].Diffuse;
g_pMeshTextures[i] = NULL;
//Texture Laden
D3DXCreateTextureFromFile( g_pd3dDevice, d3dxMaterials[i].pTextureFilename,
&g_pMeshTextures[i] );
}
pD3DXMtrlBuffer->Release();
//////////////////////////////////////////////////////////
und dann nach BeginScene:
///////////////////////////////////////////////////////////
g_pd3dDevice->BeginScene();
for( unsigned long i = 0; i < g_dwNumMaterials; ++i )
{
g_pd3dDevice->SetMaterial( &g_pMeshMaterials[i] );
g_pd3dDevice->SetTexture( 0, g_pMeshTextures[i] );
g_pMesh->DrawSubset( i );
}
......
/////////////////////////////////////////////////////////////
Leider bin ich auch keine experte bei DirectX.
mfg Helo
|