社区
图形处理/算法
帖子详情
求助!关于opengl下物体坐标的获取。
MSAD
2003-12-12 10:29:33
用opengl画了几个物体。先通过鼠标指定物体,并得到该物体的x、y、z三个坐标,该怎样办?
...全文
123
4
打赏
收藏
求助!关于opengl下物体坐标的获取。
用opengl画了几个物体。先通过鼠标指定物体,并得到该物体的x、y、z三个坐标,该怎样办?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
UPCCPU
2003-12-24
打赏
举报
回复
up
mycug
2003-12-23
打赏
举报
回复
可以通过获取深度缓冲的办法进行射线与实体的求交操作, 然后由之实现拾取.
如有不明之处, 邮件联系! mycug@sina.com
castle64
2003-12-23
打赏
举报
回复
使用名称堆栈的方法就可以pick物体
wjj888888
2003-12-12
打赏
举报
回复
在OGL下,进行物件选择时,通常有两种方法。
1,OGL内建的名称堆栈(glPushName(), glLoadName() )。在Red Book等OGL教程中查找“Selection and Feedback ”(选择与反馈)便可找到,这里不再阐述。
2,RayPicking。其原理在我上传的pdf里,另外在DX的SDK里有一个pick的例子。不过OGL提供了一个函数gluUnProject(),可以省去对矩阵的计算。函数的定义请自行查找,这里我给出一个简单的Picking函数,供大家参考。(ATVECTOR是自定义的一个矢量类)
void PickRay(POINT CursorPos, ATVECTOR &RayStar, ATVECTOR &RayEnd)
{
GLdouble o1x,o1y,o1z;
GLdouble o2x,o2y,o2z;
GLdouble ModelMatrix[16], ProjMatrix[16];
glGetDoublev(GL_MODELVIEW_MATRIX, ModelMatrix);
glGetDoublev(GL_PROJECTION_MATRIX, ProjMatrix);
GLint Viewport[4];
glGetIntegerv(GL_VIEWPORT, Viewport);
gluUnProject(CursorPos.x, WINDOW_HEIGHT - CursorPos.y, 0.0, ModelMatrix, ProjMatrix, Viewport, &o1x, &o1y, &o1z);
gluUnProject(CursorPos.x, WINDOW_HEIGHT - CursorPos.y, 1.0, ModelMatrix, ProjMatrix, Viewport, &o2x, &o2y, &o2z);
RayStar = ATVECTOR((GLfloat)o1x, (GLfloat)o1y, (GLfloat)o1z);
RayEnd = ATVECTOR((GLfloat)o2x, (GLfloat)o2y, (GLfloat)o2z);
}
VTK旋转工具,用于三维模型中的旋转变换,可显示旋转角度
VTK的渲染是基于
OpenGL
实现的,提供了一套面向对象的接口来控制图形硬件。 2. **旋转工具实现**: 在VTK中,实现旋转工具通常涉及到vtkTransform、vtkTransformFilter和vtkMatrix4x4等类。首先,创建一个...
Qt Quick与
OpenGL
集成技术
自定义控件设计自定义控件设计在《Qt Quick与
OpenGL
集成技术》一书中探讨Qt Quick与
OpenGL
集成时,自定义控件设计是一个至关重要的部分。本章节将深入讲解如何创建具有高级功能和独特视觉效果的用户界面元素,利用Qt...
OpenGL
图形编程全攻略:库文件与Nehe教程集合
本文还有配套的精品资源,点击
获取
简介:
OpenGL
是一个广泛应用于图形编程...
OpenGL
库文件包括glu32.dll、
opengl
32.dll、glut32.dll和glaux.lib,这些库文件是进行
OpenGL
程序开发的必需组件。Nehe教程是学习O...
安卓
OpenGL
ES 高级教程(三)
在这一章中,我们采用了前几章中学到的许多技巧,并根据...我们添加了第七章中的镜头光晕,以及星星和星座轮廓的点和线对象,将文本插入到
OpenGL
环境中,并在同一个屏幕上混合了
OpenGL
视图和标准 Android 控件。
SDL2 +
OPENGL
GLSL 实践
为了解决实际应用的需要,
OpenGL
作为同样跨平台的工具,在2D,3D方面有其独到之处,特别是在可编程管线方面,更加灵活高效。当然,还有一个选择就是QT,但QT也有其不足之处,尤其是发布时体量过大,如不搞大型工程,...
图形处理/算法
19,471
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章