读书人

opengl坐标转换解决方案

发布时间: 2012-04-21 14:34:44 作者: rapoo

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);

这段代码也许对你有点帮助。

读书人网 >VC/MFC

热点推荐