首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

D3D 渲染X模型之后,发现模型会跟着视点的移动而移动,求解.该怎么解决

2012-03-03 
D3D 渲染X模型之后,发现模型会跟着视点的移动而移动,求解.为了标记X模型的渲染位置和缩放比例,做了如下矩

D3D 渲染X模型之后,发现模型会跟着视点的移动而移动,求解.
为了标记X模型的渲染位置和缩放比例,做了如下矩阵变换:

C/C++ code
    modelSite=XModelProScript->GetVariableAsVector("TreeSite");  //获取树的坐标    D3DXMatrixTranslation(&modelWorldMatrixSite,modelSite.x,modelSite.y,modelSite.z);    modelSize=XModelProScript->GetVariableAsVector("TreeSize");  //獲取树的位置    D3DXMatrixScaling(&modelWorldMatrixSize,modelSize.x,modelSize.y,modelSize.z);    modelWorldMatrix=modelWorldMatrixSize*modelWorldMatrixSite;    g_D3DDevice->SetTransform(D3DTS_WORLD,&modelWorldMatrix);    cxmodel[1]->Render(g_D3DDevice);  //渲染

而摄像机每次移动的变换为:
C/C++ code
        D3DXMATRIX V;        ccamera->getViewMatrix(&V);        g_D3DDevice->SetTransform(D3DTS_VIEW, &V);


现在遇到的问题是,每次摄像机移动,模型却也跟着移动了,求解...

[解决办法]
这个是什么意思

float x = -D3DXVec3Dot(&_right, &_pos);
float y = -D3DXVec3Dot(&_up, &_pos);
float z = -D3DXVec3Dot(&_look, &_pos);

view矩阵中,xyz应该是相机在世界坐标的位置

热点排行