glReadPixels得到的深度缓存全部为1

haowensxsf 2010-06-01 07:15:52
glClearDepth(1.0f); // 深度缓存设置
glEnable(GL_DEPTH_TEST); // 打开深度测试

GLdouble modelMatrix[16];
GLdouble projMatrix[16];
GLint viewport[4];
glGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix);//视图矩阵
glGetDoublev(GL_PROJECTION_MATRIX, projMatrix);//投影矩阵
glGetIntegerv(GL_VIEWPORT, viewport);//视口

gluProject( x, y, z,modelMatrix, projMatrix, viewport,
&winX[i], &winY[i], &winZ[i]);
glReadPixels(winX[i],winY[i],1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&bufferZ);
//glReadPixels为什么我得到的bufferZ全部为1?
不明白是怎么回事,请大家指点一下,谢谢!
...全文
240 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
haowensxsf 2010-06-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dukelee 的回复:]
你读的是深度缓存,深度缓存你初始化为1,之后你并没有画其他物体,也就没有
更新深度值,所以读出来的就是1.0
[/Quote]谢谢,我太菜了~~~
dukelee 2010-06-01
  • 打赏
  • 举报
回复
你读的是深度缓存,深度缓存你初始化为1,之后你并没有画其他物体,也就没有
更新深度值,所以读出来的就是1.0

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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