[发明专利]网络游戏中的射线查询方法和场景服务器有效
申请号: | 201210150401.6 | 申请日: | 2012-05-15 |
公开(公告)号: | CN102810133A | 公开(公告)日: | 2012-12-05 |
发明(设计)人: | 李利国 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
主分类号: | G06F19/00 | 分类号: | G06F19/00 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杨春香;宋志强 |
地址: | 100043 北京市石景山区八*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络游戏 中的 射线 查询 方法 场景 服务器 | ||
1.一种网络游戏中的射线查询方法,其特征在于,该方法包括:
场景服务器针对每一游戏帧执行以下操作:
在每一游戏帧开始时,将针对该游戏帧的所有射线查询请求注册到射线查询管理器中;
依据注册至该射线查询管理器的射线查询请求数量统计出当前是由CPU还是由图像处理器GPU执行射线查询;
如果统计出是由CPU执行射线查询,则由CPU执行射线查询;
如果统计出是由GPU执行射线查询,则调度GPU异步执行射线查询,而CPU在GPU执行射线查询期间执行非射线查询任务。
2.根据权利要求1所述的方法,其特征在于,依据注册至射线查询管理器的射线查询请求数量统计出当前是由CPU还是由GPU执行射线查询包括:
统计出注册至所述射线查询管理器的射线查询请求数量之和;
如果该统计的射线查询请求数量之和大于数值N,则确定由GPU执行射线查询,否则,确定由CPU执行射线查询;
其中,所述N用于保证所述CPU执行射线查询的时间等于或开始大于数据传输时间时的最小射线查询请求数量,所述数据传输时间为GPU从内存中获取用于执行射线查询的查询数据,以及将射线查询的结果复制到内存需要的时间。
3.根据权利要求2所述的方法,其特征在于,所述N通过以下步骤确定:
所述场景服务器在启动时载入预先生成的查询数据;
所述场景服务器使用该生成的查询数据测试CPU执行射线查询的时间和所述数据查询时间,当测试结果为:CPU执行射线查询时间等于或开始大于所述数据传输时间时,确定当前已使用的查询数据的数量为所述N。
4.根据权利要求1至3任一所述的方法,其特征在于,所述GPU执行射线查询包括:
将查询数据从内存复制至显存中;
将线程划分为线程块,生成并复制线程块数据至显存中;其中,每一线程块包含至少一个线程、且每一线程块的线程处理同一个游戏场景的射线查询,每一线程块数据至少包括:查询数据、游戏场景索引、查询数据起始地址、射线查询结果地址;
针对每一线程块执行以下操作:
针对该线程块的每一线程,
获取该线程块每一线程负责执行射线查询的查询数据在该线程块内的索引;
在该线程块的线程块数据中找到查询数据起始地址,在该查询数据起始地址基础上偏移该获取的索引之后得到该线程负责的查询数据地址,从该查询数据地址上读取对应的查询数据;
由该线程利用所述查询数据执行射线查询。
5.根据权利要求4所述的方法,其特征在于,在所述方法执行之前,进一步包括:场景服务器在启动时,生成各个游戏场景的碰撞模型相关联的加速结构,将该加速结构以及各个游戏场景的碰撞模型复制至显存中,以及将各个游戏场景的包围盒、加速结构地址、以及碰撞模型地址复制至GPU的常量内存中。
6.根据权利要求5所述的方法,其特征在于,所述查询数据至少包含以下分量:射线原点的x坐标、y坐标和z坐标,以及射线方向的x坐标、y坐标和z坐标、以及射线最远距离;
所述游戏场景的碰撞模型通过三角形网格表示;
所述线程利用查询数据执行射线查询包括:
判断该查询数据对应的射线是否与游戏场景的包围盒相交,该游戏场景通过该查询数据所处线程块数据中的游戏场景索引确定,如果不相交,通过该线程写入用于表示射线查询结果为不相交的第一标识至共享内存中;
如果相交,则,
遍历该游戏场景的加速结构,寻找该射线与该游戏场景的三角形网格最近的交点,如果未寻找到所述交点,则通过该线程写入用于表示射线查询结果为不相交的第一标识至共享内存中,
如果寻找到所述交点,则通过该线程写入用于表示射线查询结果为相交的第二标识至共享内存中,并将所述交点与所述射线原点之间的距离写入共享内存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210150401.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:呼叫转移的实现方法及系统
- 下一篇:用于传送烟草工业产品的设备
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用