有关OpenGL的射线选择问题??

在OpenGL中用射线选择,需要将屏幕坐标转换为世界坐标,转换为世界坐标后,是不是还要将之转换为模型坐标,然后根据转换后的模型坐标来判断鼠标点击处的射线是否与物体相交吧?... 在OpenGL中用射线选择,需要将屏幕坐标转换为世界坐标,转换为世界坐标后,是不是还要将之转换为模型坐标,然后根据转换后的模型坐标来判断鼠标点击处的射线是否与物体相交吧?不知道,这种观点是否正确。再就是,为什么我在程序窗口的最右端点击鼠标后,获得的世界坐标的x值是0.0722833,y值是0.0505793。现在感觉还是分不清世界坐标和模型坐标……
// 获取近裁剪面上的交点
gluUnProject((GLdouble) point.x, (GLdouble)winheight-point.y, 0.0,
modelview, projection, viewport,
&world_x, &world_y, &world_z);
展开
markiiii
2010-06-23 · TA获得超过149个赞
知道答主
回答量:49
采纳率:0%
帮助的人:0
展开全部
你的概念有点混乱,opengl中只有屏幕坐标和世界坐标,还有两个转换矩阵,投影矩阵和模型矩阵,世界坐标经过模型矩阵和投影矩阵的转换后变成屏幕坐标。同时opengl也提供从屏幕坐标向世界坐标的转换,此时需要补充一个屏幕的深度坐标分量。
射线选择时,鼠标的屏幕坐标转为世界坐标系下的射线,再与物体一起进行模型变换和投影变换,进行相交运算。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式