首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

屏幕坐标怎么转化为opengl中的坐标

2012-02-11 
屏幕坐标如何转化为opengl中的坐标屏幕坐标如何转化为opengl中的坐标啊?各位帮帮忙[解决办法]我也遇到这种

屏幕坐标如何转化为opengl中的坐标
屏幕坐标如何转化为opengl中的坐标啊?各位帮帮忙

[解决办法]
我也遇到这种问题了。。。就是gluUnProject不起作用,调试的时候传进去的参数都有值,但是返回的posx就没有值了
[解决办法]
除了与PushMatrix()对应的glPopMatrix()没有,这段代码我没看出什么问题来!
[解决办法]
以下是一段将屏幕坐标转化为三维空间坐标的代码
GLfloat winX, winY,winZ;
GLdouble posXf, posYf, posZf,posXn, posYn, posZn;
GLdouble posX,posY,posZ;
GLint viewport[4];
GLdouble modelview[16];
GLdouble projection[16];
glPushMatrix();
glGetIntegerv(GL_VIEWPORT, viewport); // 得到的是最后一个设置视口的参数
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
glGetDoublev(GL_PROJECTION_MATRIX, projection);
glPopMatrix();
winX = point.x;
winY = viewport[3] - point.y;
gluUnProject(winX, winY, 0, modelview, projection, viewport, &posXn, &posYn, &posZn);
gluUnProject(winX, winY, .1, modelview, projection, viewport, &posXf, &posYf, &posZf);
posX=-posZf/(posZn-posZf)*(posXn-posXf)+posXf;
posY=-posZf/(posZn-posZf)*(posYn-posYf)+posYf;//posZ默认为0
[解决办法]
屏幕坐标如何转化为opengl中的坐标

这个好想不可以了吧,投影阵不满秩,数据会丢失的
[解决办法]
ScreenToWindow()
//Win32 API

热点排行