OPENGL获得点的深度信息

zjAngle zjAngle 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
glPushMatrix();

glGetIntegerv(GL_VIEWPORT, iViewPort); //获得视口
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(m_fCameraX, m_fCameraY, m_fCameraZ, m_fFocusX, m_fFocusY, m_fFocusZ, m_fUpX, m_fUpY, m_fUpZ); //设置摄像机坐标及方向
glGetDoublev(GL_MODELVIEW_MATRIX,dModelMatrix );

glGetDoublev(GL_PROJECTION_MATRIX,dProjMatrix);
glGetDoublev(GL_DEPTH_RANGE,depth);

GLdouble viewX,viewY,viewZ;
pointx=point.x;
pointy=point.y;
winX = (float)pointx;
winY = (float)iViewPort[3] - (float)pointy;

GLdouble ceshx,ceshy,ceshz,cesht;
GLdouble x,y,z;
GLdouble fdepth;
gluProject(0.5,0.5,0.01,dModelMatrix,dProjMatrix,iViewPort,&x,&y,&z);
glReadPixels(winX,winY,2,2,GL_DEPTH_COMPONENT,GL_FLOAT,&fdepth);
gluUnProject(winX,winY,fdepth,dModelMatrix,dProjMatrix,iViewPort,&ceshx,&ceshy,&ceshz);
为什么我用gluUnProject得到的世界坐标点不正确呢,我用(0.5,0.5 0.01)测试了gluProject函数是正确的,而且glReadPixels读取的深度值总是0.0078,请高手请教这是什么原因呢?
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
zjAngle
工具平台和程序库 24,850 成员 27,330 内容