游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1557|回复: 2

怎么设置可以看到该模型在屏幕正中?

[复制链接]

22

主题

132

帖子

134

积分

注册会员

Rank: 2

积分
134
发表于 2006-5-23 16:44:00 | 显示全部楼层 |阅读模式
用D3DXComputeBoundingSphere得到.x文件中模型的中心点和半径,问怎么设置可以看到该模型在屏幕正中?

模型的中心点坐标是:
x=-206.564331
y=-0.077511
z=256.893127

radius=484.607635

设置视角代码:

    // Set up world matrix
    D3DXMATRIXA16 matWorld;
    D3DXMatrixRotationY( &matWorld, 0.0f );
    g_pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );

    D3DXVECTOR3 vEyePt( 0.0f, 100.0f, 80.0f );
    D3DXVECTOR3 vLookatPt( -206.0f, 0.0f, 256.0f );

    D3DXVECTOR3 vUpVec( 0.0f, 1.0f, 0.0f );
    D3DXMATRIXA16 matView;
    D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec );
    g_pd3dDevice->SetTransform( D3DTS_VIEW, &matView );

    D3DXMATRIXA16 matProj;
    D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f );
    g_pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );

19

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2006-5-25 08:32:00 | 显示全部楼层

Re:怎么设置可以看到该模型在屏幕正中?

D3DXMATRIX matMove;

D3DXMatrixTranslation(matMove, -206.564331,-0.077511,256.893127);
m_pD3DDevice.SetTransform(D3DTS_WORLD, matMove);

19

主题

26

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2006-5-25 08:33:00 | 显示全部楼层

Re:怎么设置可以看到该模型在屏幕正中?

D3DXMatrixTranslation(matMove, +206.564331,+0.077511,-256.893127);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 14:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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