游戏开发论坛

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

游戏视角控制的问题

[复制链接]

5

主题

17

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2004-3-16 12:37:00 | 显示全部楼层 |阅读模式
逆矩阵在3D中有什么意义呢???
如下代码是控制摄像机上下左右移动的:

VOID cCamera::SetViewParams(LPDIRECT3DDEVICE8 pd3dDevice,
D3DXVECTOR3 &vEyePt,
D3DXVECTOR3& vLookatPt,
D3DXVECTOR3& vUpVec )
{
    // Set attributes for the view matrix
    m_vEyePt    = vEyePt;
    m_vLookatPt = vLookatPt;
    m_vUpVec    = vUpVec;
    D3DXMatrixLookAtLH( &m_matView, &m_vEyePt, &m_vLookatPt,           &m_vUpVec );
    D3DXMatrixInverse( &m_matPosition, NULL, &m_matView );

   pd3dDevice->SetTransform( D3DTS_VIEW, &m_matView );
}

如上求视矩阵的逆矩阵是什么意义呢?????

void cCamera::Move(LPDIRECT3DDEVICE8 pd3dDevice, float x, float y, float z)
{
D3DXMATRIX     matT;
D3DXMatrixIdentity( &matT );
D3DXMatrixTranslation( &matT, x, y, z );
D3DXMatrixMultiply( &m_matPosition, &matT, &m_matPosition );
D3DXMatrixInverse( &m_matView, NULL, &m_matPosition );
pd3dDevice->SetTransform( D3DTS_VIEW, &m_matView );
}
这段更看不懂了乘了又求逆矩阵.......
帮忙说一下,逆矩阵的作用,为什么在3D中它这么牛B啊

2

主题

108

帖子

116

积分

注册会员

Rank: 2

积分
116
发表于 2006-11-10 11:13:00 | 显示全部楼层

Re:游戏视角控制的问题

总的来说。就是要求m_matPosition这个矩阵,这个矩阵是用来把一个观察者(例如CS里由Player控制的人物)定位并定向到摄像头位置的矩阵。

2

主题

108

帖子

116

积分

注册会员

Rank: 2

积分
116
发表于 2006-11-10 11:14:00 | 显示全部楼层

Re:游戏视角控制的问题

楼主先补补线性代数啊。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 19:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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