opengl坐标转换
编写MFC的程序时,使用了opengl进行三维绘图。问如何将MFC中鼠标事件所捕获的屏幕二维坐标转换为用opengl建立的三维坐标体系中的三维坐标?
[解决办法]
glGetDoublev(GL_MODELVIEW_MATRIX,mvmatrix);
glGetDoublev(GL_PROJECTION_MATRIX,projmatrix);
glGetIntegerv(GL_VIEWPORT,viewport);
realy = viewport[3]-(GLint)ypos -1;
gluUnProject((GLdouble)xpos,(GLdouble)realy,0.0,mvmatrix,projmatrix,viewport,&wx1,&wy1,&wz1);
gluUnProject((GLdouble)xpos,(GLdouble)realy,1.0,mvmatrix,projmatrix,viewport,&wx2,&wy2,&wz2);
这段代码也许对你有点帮助。