OpenGL glReadPixels 占用CPU资源

linsat 2010-12-21 03:16:22
使用 glReadPixels 会占用大量CPU资源(中断图形流水线执行,等待硬件空闲后使用CPU完成)。

有什么方法可以读取某个像素(鼠标位置)的深度,又不会占用大量CPU资源?
...全文
162 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahxzb54 2011-10-11
  • 打赏
  • 举报
回复
除了这个函数就没有其他方法获得深度值了嘛?
linsat 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 linsat 的回复:]

引用 4 楼 higter 的回复:

碰撞检测是肯定要用的

但没有必要读取深度值之后再判断


如果读取深度值就不用做碰撞检测了
[/Quote]

获得深度信息后可以使用 gluUnProject() 计算鼠标所指位置对应的世界坐标系中的位置,或者直接根据模型矩阵和投影矩阵计算。

因为使用的不是第一人称视角,所以瞄准时要根据鼠标所指位置图像的深度信息计算瞄准位置,然后计算子弹发射方向。

linsat 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 higter 的回复:]

碰撞检测是肯定要用的

但没有必要读取深度值之后再判断
[/Quote]

如果读取深度值就不用做碰撞检测了

higter 2010-12-28
  • 打赏
  • 举报
回复
碰撞检测是肯定要用的

但没有必要读取深度值之后再判断
linsat 2010-12-26
  • 打赏
  • 举报
回复
没人知道吗?
linsat 2010-12-24
  • 打赏
  • 举报
回复
在做一个3D射击游戏,鼠标瞄准用的

使用 glReadPixels 会影响帧率,仔细看会有一点点卡。。。。


如果这样不行的话,就用自己用鼠标拣线段做碰撞检测好了
higter 2010-12-23
  • 打赏
  • 举报
回复
先问一下,为什么会这个需求

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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