D3DXVec3Unproject函数的一个参数问题

antimatterworld 2009-02-05 02:59:05
D3DXVECTOR3 * D3DXVec3Unproject(
D3DXVECTOR3 * pOut,
CONST D3DXVECTOR3 * pV,
CONST D3DVIEWPORT9 * pViewport,
CONST D3DXMATRIX * pProjection,
CONST D3DXMATRIX * pView,
CONST D3DXMATRIX * pWorld
);

//pWorld
//[in] Pointer to a D3DXMATRIX structure, representing the world matrix.


根据pV,pViewport,pProjection,pView应该能计算出点在场景中的世界坐标,为什么还需要pWorld?
大家看看pWorld实际起什么作用?
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
antimatterworld 2009-02-06
  • 打赏
  • 举报
回复
在窗口中点一下鼠标,D3DXVec3Unproject函数就可以计算出在场景中相应的"点击"位置。
zzz822163 2009-02-06
  • 打赏
  • 举报
回复
顶点是由那三个矩阵相互作用计算而成的,所以需要pWorld
antimatterworld 2009-02-05
  • 打赏
  • 举报
回复
IDirect3DDevice9->GetTransform(D3DTS_PROJECTION,&matProj);
zzz822163 2009-02-05
  • 打赏
  • 举报
回复
根据pV,pViewport,pProjection,pView应该能计算出点在场景中的世界坐标
===========================
哪来的根据?
顶点应该是需要pV*pWorld*pView*pProjection的,

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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