游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1456|回复: 1

鼠标拾取的问题

[复制链接]

11

主题

53

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2010-3-4 01:32:00 | 显示全部楼层 |阅读模式
//计算拾取射线在视图空间的方向
D3DXVECTOR3 vTemp;
vTemp.x =  ((( 2.0f * ptCursor.x ) / iWidth  ) - 1 ) / pmatProj._11;
vTemp.y = -((( 2.0f * ptCursor.y ) / iHeight ) - 1 ) / pmatProj._22;
vTemp.z =  1.0f;
           //计算拾取射线在世界空间中的方向
vPickRayDir.x  = vTemp.x*m._11 + vTemp.y*m._21 + vTemp.z*m._31;
vPickRayDir.y  = vTemp.x*m._12 + vTemp.y*m._22 + vTemp.z*m._32;
vPickRayDir.z  = vTemp.x*m._13 + vTemp.y*m._23 + vTemp.z*m._33;
          //计算观察点在世界坐标系中的位置
vPickRayOrig.x = m._41;
vPickRayOrig.y = m._42;
vPickRayOrig.z = m._43;
**************************************************************************************
这段代码什么意思啊??无法理解!!

15

主题

62

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2010-3-4 12:13:00 | 显示全部楼层

Re:鼠标拾取的问题

就是把屏幕上的点,反转置成三维空间中的射线,涉及到VM和PM的逆过程,可以参考下CG相关的书籍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-12 17:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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