|
|
发表于 2008-11-26 11:15:00
|
显示全部楼层
Re:请问,如何同时载入两个.x文件,让两个物体并排显示?
HRESULT InitGeometry1(char *strFilename1)
{
LPD3DXBUFFER pD3DXMtrlBuffer1;
if( FAILED( D3DXLoadMeshFromX( strFilename1, D3DXMESH_SYSTEMMEM,
g_pd3dDevice, NULL,
&pD3DXMtrlBuffer1, &g_dwNumMaterials1,
&g_pMesh1 ) ) )
{
return E_FAIL;
}
D3DXMATERIAL* d3dxMaterials1 = (D3DXMATERIAL*)pD3DXMtrlBuffer1->GetBufferPointer();
g_pMeshMaterials1 = new D3DMATERIAL8[g_dwNumMaterials1];
g_pMeshTextures1 = new LPDIRECT3DTEXTURE8[g_dwNumMaterials1];
for( DWORD i=0; i<g_dwNumMaterials1; i++ )
{
g_pMeshMaterials1 = d3dxMaterials1.MatD3D;
g_pMeshMaterials1.Ambient = g_pMeshMaterials1.Diffuse;
if( FAILED( D3DXCreateTextureFromFile( g_pd3dDevice,
d3dxMaterials1.pTextureFilename,
&g_pMeshTextures1 ) ) )
{
g_pMeshTextures1 = NULL;
}
}
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
省略若干行===
if( SUCCEEDED( InitD3D( hWnd ) ) )
{
if(SUCCEEDED(SUCCEEDED( InitGeometry1("obj1.x") )&& InitGeometry2("obj2.x") ) )
{
// Show the window
ShowWindow( hWnd, SW_SHOWDEFAULT );
UpdateWindow( hWnd );
省略若干行===
while( msg.message!=WM_QUIT )
{
if( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
else
{
Begin();
Render();
Renderobj1();
} |
|