[发明专利]一种三维空间物体拾取方法无效
申请号: | 201010607117.8 | 申请日: | 2010-12-27 |
公开(公告)号: | CN102542611A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 见良;许小飞;郑鹏程;刘铁华 | 申请(专利权)人: | 新奥特(北京)视频技术有限公司 |
主分类号: | G06T19/20 | 分类号: | G06T19/20 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;任晓航 |
地址: | 100080 北京市海淀区西草场*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 三维空间 物体 拾取 方法 | ||
技术领域
本发明涉及一种三维空间物体拾取方法,属于计算机图形学领域,特别地,适用于视频后期特效处理与合成软件中。
背景技术
在视频后期特效处理与合成软件中为了达到逼真的图像合成效果,往往都向用户提供一种将图像在三维空间中合成的手段,一般称之为三维合成器。用户可以在三维合成器中添加任意数量的三维物体,比如平面,立方体,球体,还有从三维模型文件导入的三维物体等等,给这些三维物体加上材质属性,光照以及由特效图中的图像构成的纹理即可合成出逼真的三维场景图。而三维合成器的关键之处在于用户可以利用鼠标对三维物体进行交互式的编辑,比如可以对某个物体进行平移,缩放,旋转等等操作,而这些操作的前提是必须有一种高效的三维物体拾取机制,也就是说用户用鼠标点击三维合成器渲染出来的场景图像的某一个点,三维合成器应该能够立刻判断出用户选中了哪个三维物体并对其加以高亮显示。
传统的方法一般是采用OpenGL中的select buffer技术。但近年来OpenGL标准发生了比较大的变化,从core profile3.2开始的core profile已经开始不支持很多传统的OpenGL技术,这其中就包括select buffer技术,因此如果使用OpenGL core profile必须采用其它方式进行三维物体拾取;另外,即便就是我们可以使用select buffer技术,那么单纯使用这种技术也是效率比较低的,因为至少我们要像显卡上传大量的顶点坐标信息,而对于一个非常复杂的场景这往往是比较慢的。
发明内容
针对现有技术中所存在的缺陷,本发明就是提供一种一种三维空间物体拾取方法,包括以下步骤:
步骤A,对所有的三维物体计算出各自的包围盒,即计算出XYZ三个坐标轴上该物体的最大值与最小值;步骤B,在计算出包围盒之后,对三维空间物体进行拾取。
进一步,所述拾取进一步包括:步骤1,基于视线与包围盒求交的机制,排除部分物体;步骤2,基于深度信息确定当前拾取的三维物体。
上述步骤1进一步包括以下步骤:步骤1.1,进行坐标转换,即通过确定点在空间中的位置坐标,而计算出该点的格式化设备坐标;步骤1.2,计算出视线,以及视线端点在世界坐标系的坐标;步骤1.3,对于每个三维物体,判断视线与三维物体的包围盒是否相交,如果不相交的话则将该物体排除;如果相交,则执行步骤2。
上述步骤2进一步包括以下步骤:步骤2.1,对步骤1.3中没有被排除的物体进行一次渲染。上述步骤2.1进一步包括:设置深度缓冲值,以区分颜色所在的层次;并进行如下处理步骤:判断当前是否还有未处理的三维物体,如果没有,则当前拾取物体即为最终拾取物体;如果有,则渲染该物体。所述渲染该物体包括:读取各点的深度缓冲值,如果该值小于当前深度值,则将该三维物体标记为当前拾取物体,并将当前深度值设置为该深度值。
本发明的效果:可以在一些很复杂的三维场景实现快速的物体拾取。
附图说明
附图1为本发明基于视线与包围盒求交而排除部分物体的流程示意图;
附图2为本发明基于OpenGL确定当前拾取的三维物体的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步描述。
本发明为解决上述问题而提出一种三维空间物体拾取方法,其可基于OpenGL 3.2Core Profile来实现。
该三维空间物体拾取方法中,包括以下步骤:
首先,对所有的三维物体计算出各自的包围盒,也就是XYZ三个坐标轴上该物体的最大值与最小值。对于一个三维合成系统来说包围盒是很容易得出的,也是必备的。
其次,在计算出包围盒之后,对三维空间物体进行拾取。该拾取步骤进一步包括两个步骤:
步骤1,基于视线与包围盒求交的机制,排除部分物体;
步骤2,基于深度信息确定当前拾取的三维物体。
如附图1所示,在上述步骤1中,首先进行坐标转换,即通过确定点在空间中的位置坐标,而计算出该点的格式化设备坐标。
其次,计算出视线,以及视线端点在世界坐标系的坐标。
接着,对于每个三维物体,将视线的两个端点从世界坐标系变换到该物体的模型坐标系。之后对视线与三维物体的包围盒求交,如果不相交的话则将该物体排除,否则这个物体将会在下一阶段进行拾取处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新奥特(北京)视频技术有限公司,未经新奥特(北京)视频技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010607117.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种视力保护方法及系统
- 下一篇:嵌入式开发环境分布式系统通信管理方法