[发明专利]一种基于GPU加速的实体面片模型间碰撞检测方法有效
申请号: | 201410766711.X | 申请日: | 2014-12-11 |
公开(公告)号: | CN104408774A | 公开(公告)日: | 2015-03-11 |
发明(设计)人: | 赵锦波;李廷;何桃;龙鹏程;吴宜灿 | 申请(专利权)人: | 中国科学院合肥物质科学研究院 |
主分类号: | G06T17/30 | 分类号: | G06T17/30;G06T1/00 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 杨学明;贾玉忠 |
地址: | 230031 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 加速 实体 模型 碰撞 检测 方法 | ||
1.一种基于GPU加速的实体面片模型间碰撞检测方法,其特征在于,实现步骤包括:
步骤(1)、获取第一模型A所有顶点信息,获取第二模型B的AABB层次包围盒位置信息;
步骤(2)、判断模型B是否为实体三角面片模型,如果是,则不做处理,否则,先对模型B进行三角面片处理;
步骤(3)、获取模型B各三角面片的顶点信息,并将所有顶点信息构建成顶点纹理V加载至GPU显存中;
步骤(4)、为模型A各个顶点创建射线,设定阈值作为碰撞精度,所有射线相互平行,且阈值相同,由各个顶点与阈值求得射线的另一端点,将所有顶点射线两端点位置信息存储至系统内存中;
步骤(5)、在模型A向模型B运动靠近过程中,判断模型A各顶点射线与模型B层次包围盒是否相交,如果是,则模型A与模型B的包围盒发生碰撞,否则,模型A与模型B不发生碰撞;
步骤(6)、根据步骤(5),如模型A与模型B的层次包围盒发生碰撞,则为GPU分配存储空间,向GPU传送发生碰撞的射线端点位置信息;
步骤(7)、根据步骤(6),利用GPU进行碰撞射线与模型B的顶点纹理V的相交运算,判断碰撞射线是否与模型B任何一个三角面片都不相交,如果是,则模型A与模型B不发生碰撞,否则,模型A与模型B发生碰撞。
2.根据权利要求1所述的基于GPU加速的实体面片模型间碰撞检测方法,其特征在于,对模型A各个顶点均创建了射线,检测模型A各个顶点与模型B层次包围盒的相交情况,对发生相交的射线进行GPU加速处理。
3.根据权利要求1所述的基于GPU加速的实体面片模型间碰撞检测方法,其特征在于,在模型A与模型B的包围盒发生碰撞时为GPU分配存储空间,向GPU实时传送发生碰撞的顶点射线的两端点位置信息,使用每个GPU线程进行碰撞射线与模型B所有三角面片的相交运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院合肥物质科学研究院,未经中国科学院合肥物质科学研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410766711.X/1.html,转载请声明来源钻瓜专利网。