一种面向GPU的三角网格碰撞检测方法技术

技术编号:15692084 阅读:128 留言:0更新日期:2017-06-24 05:49
本发明专利技术公开了一种面向GPU的三角网格碰撞检测方法,包括基本碰撞算法部分和算法优化部分。其中,基本碰撞算法的具体步骤包括:步骤11、进行三角形相交测试;步骤12、进行两个物体间的碰撞检测;算法优化部分利用减少内存访问策略和共享内存策略两种策略进行加速,具体步骤包括:步骤21(通过减少内存访问次数的策略,对基本碰撞算法进行优化)、步骤22(通过内存共享的策略,对基本碰撞算法进行优化)、步骤23(结合减少内存访问的次数和内存共享,对基本碰撞算法进行优化)。本发明专利技术的一种面向GPU的三角网格碰撞检测方法,适用于中等复杂度的模型,降低了算法复杂度,提高了碰撞检测算法的性能。

A triangle mesh collision detection method for GPU

The invention discloses a triangular mesh collision detection method for GPU, which comprises a basic collision algorithm part and an algorithm optimization part. Among them, the basic steps of collision algorithm comprises the following steps: step 11, triangle intersection test; step 12, the collision detection between two objects; algorithm optimization using strategies to reduce memory access and shared memory strategies two strategies are accelerated, the specific steps include: step 21 (the basic algorithm is optimized by reducing the collision the number of memory access strategies), step 22 (the basic collision algorithm is optimized through shared memory strategies), step 23 (combined to reduce the number of memory access and sharing, to optimize the basic collision algorithm). The invention relates to a triangular mesh collision detection method for GPU, which is suitable for a model with medium complexity, reduces the complexity of the algorithm and improves the performance of the collision detection algorithm.

【技术实现步骤摘要】
一种面向GPU的三角网格碰撞检测方法
本专利技术涉及计算机图形学领域,尤其涉及一种面向GPU的三角网格碰撞检测方法。
技术介绍
碰撞检测(CollisionDetection,简称CD)技术用于检测空间中的一个或多个几何物体之间是否存在重叠,如果存在则识别重叠特征。碰撞检测算法被广泛地应用在计算机图形学领域的多方面应用中,包括基于物理的动画、几何建模、6-DOF触觉渲染、机器人路径规划、医学成像、交互式计算机游戏等。随着多核图形处理器(GraphicsProcessingUnit,简称GPU)这样的大规模并行处理器的快速发展,以及NVIDA推出的通用并行计算架构CUDA(ComputeUnifiedDeviceArchitecture,简称CUDA)。许多基于单处理器的算法已经利用CUDA技术扩展到GPU上。如层次包围盒(BoundingVolumeHierarchy,简称BVH)结构就是提高碰撞检测性能很好的技术。但是由于一般的串行算法对数据依赖较高,从存储器结构访问数据会有延迟。如BVH这类空间数据结构的算法复杂度较高,很多都需要进行预处理或是代价较高的数据结构重构。为了解决这些本文档来自技高网...
一种面向GPU的三角网格碰撞检测方法

【技术保护点】
一种面向GPU的三角网格碰撞检测方法,其特征在于,包括基本碰撞算法部分和算法优化部分,其中,所述基本碰撞算法的具体步骤包括:步骤11、进行三角形相交测试;步骤12、进行两个物体间的碰撞检测;所述算法优化部分利用减少内存访问策略和共享内存策略,具体步骤包括:步骤21、通过减少内存访问次数的策略,对基本碰撞算法进行优化;步骤22、通过内存共享的策略,对基本碰撞算法进行优化;步骤23、结合减少内存访问的次数和内存共享,对基本碰撞算法进行优化。

【技术特征摘要】
1.一种面向GPU的三角网格碰撞检测方法,其特征在于,包括基本碰撞算法部分和算法优化部分,其中,所述基本碰撞算法的具体步骤包括:步骤11、进行三角形相交测试;步骤12、进行两个物体间的碰撞检测;所述算法优化部分利用减少内存访问策略和共享内存策略,具体步骤包括:步骤21、通过减少内存访问次数的策略,对基本碰撞算法进行优化;步骤22、通过内存共享的策略,对基本碰撞算法进行优化;步骤23、结合减少内存访问的次数和内存共享,对基本碰撞算法进行优化。2.如权利要求1所述的一种面向GPU的三角网格碰撞检测方法,其特征在于,所述步骤11具体为:步骤111、寻找三角形对之间所有的潜在分离轴;步骤112、利用分离轴方式进行三角形相交测试。3.如权利要求2所述的一种面向GPU的三角网格碰撞检测方法,其特征在于,寻找潜在的分离轴方式具体为:假设有三角形x1x2x3和三角形x4x5x6,π1、π2分别被设置为是所述三角形x1x2x3和所述三角形x4x5x6的平面法线,ei(i=1,…6)被设置为所述三角形x1x2x3和所述三角形x4x5x6边;令L为潜在的分离轴,分离轴包括π1,π2,θi×θj(i=1,2,3;j=4,5,6),π1×θi(i=1,2,3),π2×θj(j=4,5,6)。4.如权利要求3所述的一种面向GPU的三角网格碰撞检测方法,其特征在于,所述三角形x1x2x3在直线L上的投影区间被设置为所述三角形x4x5x6在所述潜在的分离轴L上的投影区间被设置为如果存在一条直线L,使得I0与I...

【专利技术属性】
技术研发人员:张新宇任花
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1