社区
机器视觉
帖子详情
OpenGL glReadPixels 占用CPU资源
linsat
2010-12-21 03:16:22
使用 glReadPixels 会占用大量CPU资源(中断图形流水线执行,等待硬件空闲后使用CPU完成)。
有什么方法可以读取某个像素(鼠标位置)的深度,又不会占用大量CPU资源?
...全文
162
8
打赏
收藏
OpenGL glReadPixels 占用CPU资源
使用 glReadPixels 会占用大量CPU资源(中断图形流水线执行,等待硬件空闲后使用CPU完成)。 有什么方法可以读取某个像素(鼠标位置)的深度,又不会占用大量CPU资源?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
先问一下,为什么会这个需求
Open
GL
中位图的操作(
gl
Read
Pixels
,
gl
Draw
Pixels
等)
Open
GL
中位图的操作(
gl
Read
Pixels
,
gl
Draw
Pixels
和
gl
Copy
Pixels
应用举例) 1、 BMP文件格式简单介绍 BMP文件是一种像素文件,它保存了一幅图象中所有的像素。这种文件格式可以保存单色位图、16色或256色索引模式...
Open
GL
ES 学习:PBO 使用
首先将图像数据加载进
CPU
内存,然后使用
gl
TexImage2D() 函数将像素数据上传到 GPU 内存,即纹理对象,这个过程都是由
CPU
完成,且
gl
TexImage2D() 相对耗时,因此
CPU
周期会被
占用
一部分。右图为使用 PBO 上传...
Open
GL
ES在内存和卡顿上的优化
我们知道
Open
GL
ES里面有个函数叫
GL
ES20.
gl
Read
Pixels
,可以帮助我们从FrameBuffer里面把纹理像素拷贝到数组里面,但是这个方法有几个弊端: ①耗时,花费的时间和截图的大小成正比关系,在一些差的设备上耗时非常...
Open
GL
中位图的操作(
gl
Read
Pixels
,
gl
Draw
Pixels
和
gl
Copy
Pixels
应用举例)
Open
GL
中位图的操作(
gl
Read
Pixels
,
gl
Draw
Pixels
和
gl
Copy
Pixels
应用举例) 2009-08-04 23:1815875人阅读评论(5)收藏举报 alignmentheaderwindowsfilebytebuffer 1、BMP文件格式简单介绍 BMP文件是一种像素...
Open
GL
深入探索——像素缓冲区对象 (PBO)
PBO的用法,
gl
Read
Pixels
gl
RenderBufferFrameBuffer
机器视觉
4,446
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章