游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2003|回复: 4

怎么计算OpenGL中鼠标点到的物体的部位的坐标值

[复制链接]

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
发表于 2004-12-9 15:31:00 | 显示全部楼层 |阅读模式
比如有一个斜角20度的模拟地面的四边形,我用鼠标点在这个地面某处,怎么计算出地面上这个点的X,Y,Z坐标值(实际上只要算出X,Z,因为地面是水平的,Y值一定为0)?

我用了很多算法,不是不行实现,就是不仅运算量很大而且总是有一定的偏差。
请问高手,OPENGL有没有直接的函数来来实现这个功能?或者哪个地方有可以参考的代码?
先谢了!!!

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2004-12-9 15:49:00 | 显示全部楼层

Re:怎么计算OpenGL中鼠标点到的物体的部位的坐标值

gluUnproject()
看opengl.org上red book 的sample:unproject.c

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2004-12-9 16:02:00 | 显示全部楼层

Re:怎么计算OpenGL中鼠标点到的物体的部位的坐标值

是啊。
非常感谢,我刚好前五分钟查到这个函数。
不过我想还需要用glReadPixels从深度模板中先读出点到的这个点到视点的深度。再把这个深度做Z值代入gluUnproject的Z参数。应该就完全搞定了~

现在就编写测试测试。

96

主题

529

帖子

539

积分

高级会员

Rank: 4

积分
539
 楼主| 发表于 2004-12-9 21:06:00 | 显示全部楼层

Re: 怎么计算OpenGL中鼠标点到的物体的部位的坐标值

成功了

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2004-12-9 21:52:00 | 显示全部楼层

Re:怎么计算OpenGL中鼠标点到的物体的部位的坐标值

是不是用GL_DEPTH_COMPONENT读?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 16:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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