[发明专利]一种基于SIMD的k-DOP包围盒碰撞检测方法无效
申请号: | 201110104065.7 | 申请日: | 2011-04-26 |
公开(公告)号: | CN102253862A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 唐敏;童若锋;杜鹏;赵杰伊 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 simd dop 包围 碰撞 检测 方法 | ||
技术领域
本发明属于计算机检测技术领域,具体涉及一种基于SIMD(单指令多数据流)的k-DOP包围盒碰撞检测方法。
背景技术
包围盒层次结构(BVH)是一种针对三角形网格模型进行高效碰撞检测的重要工具。各种BVH,如球(Sphere)树,轴对齐包围盒(AABB)树,定向包围盒(OBB)树,离散定向多面体(k-DOP)树等,这些层次结构通常采用自顶向下的方法进行构造,被广泛应用于刚体或柔性物体的碰撞检测。而柔性物体的BVH的快速更新技术(如重新整理、动态或选择性重构等),已成为本领域诸多研究者的关注热点。
对于柔性物体,除了需要考虑包围盒的紧凑性外,包围盒整理和重构的效率也至关重要。图1为AABB、8-DOP和OBB三种包围盒的示意图,对于简单的包围盒如Sphere、AABB,其整理和构造十分快捷,但紧凑性较差;对于复杂的包围盒如OBB,虽然较为紧凑,但整理和构造的计算量较大;作为折中选择,k-DOP兼具紧凑性和高效性,因此常被用于柔性物体的包围盒层次结构。
目前传统的k-DOP包围盒碰撞检测方法,都是采用串行的实现方式来完成碰撞检测,k-DOP包围盒在重构和整理过程中的指令数目过多,执行起来非常耗时,且实时性差,在机器人运动路径规划、物理仿真、视频游戏等实时性要求较高的应用中,无法满足相应的碰撞检测要求。
发明内容
本发明提供了一种基于SIMD的k-DOP包围盒碰撞检测方法,充分利用SIMD的指令级并行处理能力,加速了包围盒构造或重构、BVH(包围盒层次结构)建立或更新以及包围盒重叠测试的过程,大大提高了碰撞检测速度。
一种基于SIMD的k-DOP包围盒碰撞检测方法,包括如下步骤:
(1)使用SIMD指令对待检测的三角形网格柔性场景模型中的每个三角形构造对应的k-DOP包围盒,进而建立所述的三角形网格柔性场景模型的包围盒层次结构;
(2)根据所述的包围盒层次结构,构建包围盒测试树,使用SIMD指令对包围盒测试树进行包围盒重叠测试,输出存在包围盒重叠的叶节点;
(3)对输出的叶节点对应的两个k-DOP包围盒内的三角形对进行精确碰撞检测。
优选的技术方案中,所述的步骤(1)中,当进行第n次碰撞检测时,包围盒层次结构是根据第n次碰撞检测时刻每个三角形的空间位置,使用SIMD指令对上一次碰撞检测过程中的包围盒层次结构中最底层的k-DOP包围盒进行重构,进而使用SIMD指令自底向上对上一次碰撞检测过程中的包围盒层次结构进行整理更新而成的,n为大于1的自然数;相应的提高了碰撞检测速度。
优选的技术方案中,所述的步骤(2)中,当进行第n次碰撞检测时,所述的包围盒测试树为上一次碰撞检测过程中的包围盒测试树;相应的提高了碰撞检测速度。
优选的技术方案中,所述的k-DOP包围盒为16-DOP包围盒,保证了碰撞检测过程的高效性。
本发明的有益技术效果是:通过利用SIMD的指令级并行处理能力,减少了碰撞检测操作过程中的指令数目,加速了包围盒构造或重构、BVH建立或更新以及包围盒重叠测试的过程,缩短了碰撞检测的时间,与传统的碰撞检测方法相比可获得约4倍的速度提升,具有良好的兼容性,可与任务级并行处理形成有效互补,从而提高了整体的并行加速比。
附图说明
图1(a)为AABB包围盒的示意图,图1(b)为8-DOP包围盒的示意图,图1(c)为OBB包围盒的示意图。
图2为本发明碰撞检测方法的步骤流程示意图。
图3为16-DOP包围盒在浮点向量中的数据布局图。
图4(a)为BVH的结构示意图,图4(b)为BVTT的结构示意图。
具体实施方式
为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的碰撞检测方法进行详细说明。
如图2所示,一种基于SIMD的16-DOP包围盒碰撞检测方法,包括如下步骤:
(1)使用SIMD指令构建BVH。
使用SIMD指令对待检测的三角形网格柔性场景模型中的每个三角形构造对应的16-DOP包围盒,进而建立三角形网格柔性场景模型的包围盒层次结构;当进行第n次碰撞检测时,包围盒层次结构是根据第n次碰撞检测时刻每个三角形的空间位置,使用SIMD指令对上一次碰撞检测过程中的包围盒层次结构中最底层的16-DOP包围盒进行重构,进而使用SIMD指令自底向上对上一次碰撞检测过程中的包围盒层次结构进行整理更新而成的,n为大于1的自然数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110104065.7/2.html,转载请声明来源钻瓜专利网。