真实坐标可以通过OpenGL的投影函数计算投影之后的坐标。
在HLCut中用于处理鼠标点选操作。
思路:获取OpenGL模型矩阵和投影矩阵,通过投影函数计算。
函数: gluProject
double objx, objy, objz; // 保存着真实坐标
GLint viewport[4];
GLdouble mvmatrix[16], projmatrix[16];
glGetIntegerv(GL_VIEWPORT, viewport);
glGetDoublev(GL_MODELVIEW_MATRIX, mvmatrix); // 模型矩阵
glGetDoublev(GL_PROJECTION_MATRIX, projmatrix);//投影矩阵
double winx, winy, winz;
gluProject(objx, objy, objz, mvmatrix, projmatrix, viewport, &winx, &winy, &winz);
winy = viewport[3]-winy; // 转成像素坐标
OpenGL真实坐标转换为投影后的坐标
最新推荐文章于 2022-09-25 19:23:20 发布