屏幕坐标转化为世界坐标(vc opengl)
来源:互联网 发布:小米快传软件 编辑:程序博客网 时间:2024/05/20 21:59
Point3D CSideView::TurnGLpoint(CPoint Tpoint)
{
Point3D Rp;
GLint viewport[4];
GLdouble modelview[16];
GLdouble projection[16];
GLfloat winX,winY,winZ;
GLdouble posX,posY,posZ;
glGetIntegerv(GL_VIEWPORT,viewport);
glGetDoublev(GL_MODELVIEW_MATRIX,modelview);
glGetDoublev(GL_PROJECTION_MATRIX,projection);
winX=(float)Tpoint.x;
winY=viewport[3]-(float)Tpoint.y;
glReadPixels((int)winX,(int)winY,1,1,GL_DEPTH_COMPONENT,GL_FLOAT,&winZ);//获取鼠标屏幕坐标处像素的深度Z
gluUnProject(winX,winY,winZ,modelview,projection,viewport,&posX,&posY,&posZ);
Rp.x=posX;
Rp.y=posY;
Rp.z=posZ;
return Rp;
}
Point3D为自己写的一个结构体,可以根据自己需要写。
直接调用该函数:
p3d=TurnGLpoint(p);
补充Webgl,三维转化为屏幕坐标方法:
{
var pos=point.clone();
projScreenMat=new THREE.Matrix4();
projScreenMat.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
pos.applyProjection(projScreenMat);
return { x: ( pos.x + 1 ) * window.innerWidth / 2,
y: ( - pos.y + 1) * window.innerHeight / 2 };
};
- 屏幕坐标转化为世界坐标(vc opengl)
- OpenGl学习笔记3——屏幕坐标(2维)转化为世界坐标(3维)
- 三维世界坐标转化为二维屏幕坐标
- 游戏世界坐标转化为UGUI屏幕坐标
- OpenGL:屏幕二维坐标转化为三维模型坐标
- 屏幕坐标到opengl世界坐标转换
- 屏幕坐标到opengl世界坐标转换
- unity3d的世界坐标转化成屏幕坐标
- Unity3D的世界坐标转化成屏幕坐标
- unity3d的世界坐标转化成屏幕坐标
- OSG中屏幕坐标和世界坐标的转化
- OpenGL中的屏幕坐标和世界坐标的转换
- 屏幕坐标到OpenGL世界坐标的转换
- OpenGL屏幕二维坐标转化成三维模型坐标
- OpenGL: 屏幕二维坐标转化成三维模型坐标
- 屏幕坐标到世界坐标
- OpenGL:三维平面坐标转化为二维
- 屏幕坐标转化为三维物体的坐标
- zend framework 分页类
- 两个数的四则运算。
- POJ3274 Gold Balanced Lineup 数组的哈希
- 通过创建用户自定义函数索引优化语句
- android 开源自组织网络开源包
- 屏幕坐标转化为世界坐标(vc opengl)
- Android WIFI 架构和控制流程
- C++著名程序库的比较和学习经验
- Bat 批处理之 for/f 详解
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用15
- 从一个视图获取另一个视图(vc mfc)
- class.forname
- android_模拟按键资料
- android 优化思想