|
发表于 2004-2-14 13:03:00
|
显示全部楼层
Re:如何把Windows的窗口坐标转化为OpenGL的3D坐标?
float depth[2];
glReadPixel(xpos,ypos,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,depth);
GLdouble ModelMatrix[16], ProjMatrix[16];
glGetDoublev(GL_MODELVIEW_MATRIX, ModelMatrix);
glGetDoublev(GL_PROJECTION_MATRIX, ProjMatrix);
GLint Viewport[4]={0,0,CGameSetting::m_iScrWidth,CGameSetting::m_iScrHeight};
gluUnProject(xpos,ypos, depth[0],
ModelMatrix, ProjMatrix, Viewport,
&m_focusPosX, &m_focusPosY, &m_focusPosZ);
其中,xpos ,ypos为窗口坐标,m_focuspox为3D世界中的坐标 |
|