游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2847|回复: 7

请问,如何同时载入两个.x文件,让两个物体并排显示?

[复制链接]

6

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2008-11-21 16:10:00 | 显示全部楼层 |阅读模式
载入Device1的时候没问题,载入Device2的时候无法显示。请问该如何解决啊!

谢谢!

最好给一段代码!

[em7] [em7] [em7] [em7] [em7] [em7]

6

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2008-11-21 16:11:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

让两个小物体分别自己选择,并且同时可以让整个世界的视角也可以调整,请问改如何解决!

谢谢!!

6

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2008-11-24 08:26:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

请大家帮帮忙!谢谢!

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2008-11-24 23:49:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

设置第一个物体的世界矩阵
渲染第一个物体
设置第二个物体的世界矩阵
渲染第二个物体
将世界变换矩阵设为Identity

Device1、Device2?什么东西?

5

主题

755

帖子

757

积分

高级会员

Rank: 4

积分
757
发表于 2008-11-25 17:44:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

你把第二个的世界坐标改了不就站一排了

0

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 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();

}

0

主题

9

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2008-11-26 11:19:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

没写完 继续
main里renderobj1 再renderobj2
在每个render里用D3DXMatrixTranslation()   D3DXMatrixScaling()   D3DXMatrixRotationX()这些达到你要的并列效果

0

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-11-30 18:23:00 | 显示全部楼层

Re:请问,如何同时载入两个.x文件,让两个物体并排显示?

简单地说,就是你得把两个模型的位置,大小等分别设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 19:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表