社区
图形处理/算法
帖子详情
在opengl中有什么办法获取当前画面的深度缓存
ahxzb54
2011-10-16 08:10:44
我知道glreadpixels函数可以一个个的像素点读取深度值,如果不用这个方法可以获取帧缓存(framebuffer)中的数据吗?
因为帧缓存中有colorbuffer和depthbuffer,或者说其他什么方法来获取depthbuffer,另外glreadpixels()读取颜色缓存中的alpha和深度有关系吗?
...全文
437
2
打赏
收藏
在opengl中有什么办法获取当前画面的深度缓存
我知道glreadpixels函数可以一个个的像素点读取深度值,如果不用这个方法可以获取帧缓存(framebuffer)中的数据吗? 因为帧缓存中有colorbuffer和depthbuffer,或者说其他什么方法来获取depthbuffer,另外glreadpixels()读取颜色缓存中的alpha和深度有关系吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ahxzb54
2012-02-05
打赏
举报
回复
求指导啊!
ahxzb54
2011-10-18
打赏
举报
回复
为什么linux的获取framebuffer中没有depthbuffer啊?只有颜色的深度,不是opengl像素的深度值
OpenGL
:如何从
缓存
中读取颜色、
深度
信息【转】
方法一、保存为图片 QImage* img=new QImage(WINDOW_WIDTH,WINDOW_HEIGHT,QImage::Format_ARGB32); uchar* tmpBIT = img->bits(); //从颜色缓冲区中读取数据 int tmpPixelSize = WINDOW_WIDTH*WINDOW_HEIGHT * 4; char* tmpPixelsBuffer = (char*)malloc(tmpPixelSize);
openGL
缓存
概念和
缓存
清除(01)
操作
缓存
就是操作屏幕;而因为渲染的多样性需求,
缓存
是多样的,对多样的
缓存
操作,就是渲染操作。本篇对基本的几个渲染
缓存
进行操作。
opengl
与OSG的
深度
测试
转载http://www.cnblogs.com/lovemyhuangmei/p/4014572.html (1)什么是
深度
?
深度
其实就是该象素点在3d世界中距离摄象机的距离(绘制坐标),
深度
缓存
中存储着每个象素点(绘制在屏幕上的)的
深度
值!
深度
值(Z值)越大,则离摄像机越远。
深度
值是存贮在
深度
缓存
里面的,我们用
深度
缓存
的位数来衡量深
OpenGL
中关于模板缓冲区的详细解释
模板缓冲区的概念,至今依然不是特别理解,这篇博客写的很好,相信对大家的理解也有帮助。 模板
缓存
是
深度
缓存
的扩充,当你需要控制哪一个像素需要被渲染,哪一个像素需要被忽略时,模板
缓存
能够为你提供更多的方法。和
深度
缓存
一样,模板
缓存
存储了所有像素的模板值,但是这次你必须手动控制这些值如何改变。记住,如果一个像素
深度
测试失败了的话,模板测试将不会再决定该像素是否绘制,而像素会反过来影响模板
缓存
中的值。 为了让大家对模板
缓存
有一个直观的认识,让我们来分析一下下面这个例子: 模板
缓存
实例 如上图所示:模..
【
OpenGL
】笔记十九、
深度
测试
1. 流程 在前面的教程中,我们有简略介绍过
深度
测试,它的存在帮助我们最终渲染的
画面
不会存在那些本应被遮挡住了的图像,其实若深究其中的原理的话,倒也没多复杂,就是每次渲染一个图形时测测
当前
这个要渲染的像素是否是目前离屏幕最近的,若是,就说明没有被其他物体遮挡,就可以把它的颜色映射到屏幕上,而这个距离就是由depth_buffer所存储,每次渲染一个新图形的时候我们就去比较和更新这个buffer。 1.1
深度
测试 一般情况下,
深度
测试默认是禁用的,所以如果要启用
深度
测试的话,我们需要用GL_DEPTH_T
图形处理/算法
19,469
社区成员
50,697
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章