如何通过鼠标点击获得鼠标点的三维世界坐标呢?OPENGL
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 10:46:07
如何通过鼠标点击获得鼠标点的三维世界坐标呢?OPENGL
glReadPixels(mouse_x,int(winY),1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&winZ);此函数获得的WINZ一直都是1,应该是在0-1之间的啊,而且用这个方法得到的点不正确,
glReadPixels(mouse_x,int(winY),1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&winZ);此函数获得的WINZ一直都是1,应该是在0-1之间的啊,而且用这个方法得到的点不正确,
void UnProject(float mouse_x,float mouse_y) //鼠标位置
{
double modelview[16],projection[16];
int viewport[4];
float winX,winY,winZ;
double object_x = 0,object_y = 0,object_z = 0; //3D坐标
glGetDoublev(GL_MODELVIEW_MATRIX,modelview);
glGetDoublev(GL_PROJECTION_MATRIX,projection);
glGetIntegerv(GL_VIEWPORT,viewport);
winX=(float)mouse_x;
winY=(float)viewport[3]-(float)mouse_y;
glReadPixels(mouse_x,int(winY),1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&winZ);
gluUnProject((GLdouble)winX,(GLdouble)winY,(GLdouble)winZ,modelview,projection,viewport,&object_x,&object_y,&object_z);
}
{
double modelview[16],projection[16];
int viewport[4];
float winX,winY,winZ;
double object_x = 0,object_y = 0,object_z = 0; //3D坐标
glGetDoublev(GL_MODELVIEW_MATRIX,modelview);
glGetDoublev(GL_PROJECTION_MATRIX,projection);
glGetIntegerv(GL_VIEWPORT,viewport);
winX=(float)mouse_x;
winY=(float)viewport[3]-(float)mouse_y;
glReadPixels(mouse_x,int(winY),1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&winZ);
gluUnProject((GLdouble)winX,(GLdouble)winY,(GLdouble)winZ,modelview,projection,viewport,&object_x,&object_y,&object_z);
}
如何通过鼠标点击获得鼠标点的三维世界坐标呢?OPENGL
使用OpenGL怎样获得局部坐标经变换后得到的世界坐标?
"点击鼠标"用英语怎么说?
英文翻译.用鼠标右键点击你的名字.
能不能用MATLAB做三维图,可以三维旋转那种,并且能够显示出鼠标停留处坐标的函数值?
鼠标如何调试
如何测试鼠标灵敏度
几何画板如何做垂足?点击左下角自定义工具,鼠标按住1秒钟不动,点击角工具——90°角.作出直角符号后,右键隐藏点
在OpenGL中,用鼠标控制三维物体旋转后,物体显示不全,不知是何原因,还望大虾们帮忙
英语翻译第二张图 把鼠标挪到图片上面 然后点击鼠标左键就可以看到比较清楚的了
flex builder 4 如何使一个物体移动到鼠标点击的位置,要慢慢移动,不要一下跳到点击的位置.
求助!OPENGL中屏幕坐标到世界坐标的转换~