如何改变物体坐标

WJN92 2011-09-20 10:56:02
原来我是使用这种方法来转换一个物体的位置的

但是我发现camera移动的时候这个物体就没有移动,那怎么做才能只改变它的物体坐标呢?


void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext )
{
HRESULT hr;
pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB( 0,255,255 ), 1.0f, 0 );

pd3dDevice->SetRenderState(D3DRS_LIGHTING, false);


if (SUCCEEDED(pd3dDevice->BeginScene()))
{

model.Render(pd3dDevice);

pd3dDevice->SetTransform(D3DTS_WORLD, &m) ;

room.Render(pd3dDevice);

//*****************************************************
D3DXMATRIX world = *MyCamera.GetWorldMatrix() ;
pd3dDevice->SetTransform(D3DTS_WORLD, &world) ;

// Set view matrix
D3DXMATRIX view = *MyCamera.GetViewMatrix() ;
pd3dDevice->SetTransform(D3DTS_VIEW, &view) ;

// Set projection matrix
D3DXMATRIX proj = *MyCamera.GetProjMatrix() ;
pd3dDevice->SetTransform(D3DTS_PROJECTION, &proj) ;
//*****************************************************

pd3dDevice->EndScene();

}

}


void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext )
{
MyCamera.FrameMove( fElapsedTime );
D3DXMatrixRotationY( &m, 45 );
}
...全文
68 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
freeman040921 2011-09-20
  • 打赏
  • 举报
回复
你这个程序渲染顺序有问题,你这个是先渲染物体再改变摄像机,那能有什么效果啊,你应该先设置摄像机位置再渲染物体。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧