预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108305316A(43)申请公布日2018.07.20(21)申请号201810190967.9(22)申请日2018.03.08(71)申请人网易(杭州)网络有限公司地址310052浙江省杭州市滨江区长河街道网商路599号4幢7层(72)发明人刘镪(74)专利代理机构北京律智知识产权代理有限公司11438代理人阚梓瑄王卫忠(51)Int.Cl.G06T15/00(2011.01)G06T15/50(2011.01)权利要求书2页说明书10页附图3页(54)发明名称基于AR场景的渲染方法、装置、介质和计算设备(57)摘要本发明的实施方式提供了一种基于AR场景的渲染方法、装置。该方法包括:通过工作线程获取到指定AR场景帧的渲染命令;基于交互命令缓冲方式,将所述渲染命令提交到渲染线程;利用所述渲染线程基于所述渲染命令对所述指定AR场景帧渲染,提升AR场景渲染的效率和灵活性,利用完善和强大的工具链,资源异步加载以及多线程渲染,缩小了渲染引擎编译的体积,提升了染质量。CN108305316ACN108305316A权利要求书1/2页1.一种基于AR场景的渲染方法,包括:通过工作线程获取到指定AR场景帧的渲染命令;基于交互命令缓冲方式,将所述渲染命令提交到渲染线程;利用所述渲染线程基于所述渲染命令对所述指定AR场景帧渲染。2.根据权利要求1所述的渲染方法,其中,通过工作线程获取到指定AR场景帧的渲染命令,包括:所述工作线程遍历所述指定AR场景帧,以获取到所述指定AR场景帧中的每个相机;所述工作线程获取到所述每个相机的渲染对象集合;所述工作线程根据所述每个相机的渲染对象集合生成对应于每个最小可渲染单元的渲染命令。3.根据权利要求2所述的渲染方法,其中,所述工作线程获取到所述每个相机的渲染对象集合,包括:所述工作线程根据所述每个相机的cullMask以及视锥,获取到每个相机的渲染对象集合。4.根据权利要求1或2所述的渲染方法,其中,所述渲染命令包括:最小可渲染单元的渲染状态参数以及对应的相机参数。5.如权利要求4所述的渲染方法,其中,利用所述渲染线程基于所述渲染命令对所述指定AR场景帧渲染,包括:所述渲染线程对所述渲染命令中的渲染状态参数做哈希计算,以获取到每个渲染命令的渲染状态哈希值;所述渲染线程根据每个渲染命令中的渲染状态哈希值以及相机参数,对所述渲染命令排序;所述渲染线程根据所述渲染命令的排序,依次执行每个渲染命令,以对所述指定AR场景帧渲染。6.根据权利要求5所述的渲染方法,其中,所述渲染线程根据每个渲染命令中的渲染状态哈希值以及相机参数,对所述渲染命令排序,包括:所述渲染线程根据每个渲染命令所对应的相机参数获取每个渲染命令对应的相机编号;所述渲染线程按照所述相机编号对对应于每个相机的渲染命令进行排序;所述渲染线程根据对应于每个渲染命令中的渲染状态哈希值,对对应于同一个相机的多个渲染命令进行排序。7.根据权利要求1所述的渲染方法,其中,基于交互命令缓冲方式,将所述渲染命令提交到渲染线程,包括:将所述工作线程与所述渲染线程中的渲染命令交换,以使所述渲染线程获取到所述工作线程中的渲染命令。8.一种基于AR场景的渲染装置,包括:第一获取模块,用于通过工作线程获取到指定AR场景帧的渲染命令;提交模块,用于基于交互命令缓冲方式,将所述渲染命令提交到渲染线程;渲染模块,用于利用所述渲染线程基于所述渲染命令对所述指定AR场景帧渲染。2CN108305316A权利要求书2/2页9.一种介质,其上存储有程序,该程序被处理器执行时实现如权利要求1至7中任一项所述的方法。10.一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如权利要求1至7中任一项所述的方法。3CN108305316A说明书1/10页基于AR场景的渲染方法、装置、介质和计算设备技术领域[0001]本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及基于增强现实技术(AugmentedReality,简称”AR”)场景的渲染方法、装置、介质和计算设备。背景技术[0002]本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。[0003]在市面上有许多游戏引擎,包括开源的和商业的。开源的游戏引擎如Ogre,Irrlicht,cocos2d-x,gameplay3d等,这些免费的开源引擎一般都有自己的渲染系统,资源加载系统,UI系统,网格和动画系统等,其渲染系统大多都是跨平台,较小巧,代码量可控的。有的有自己独立的编辑器,他们都是单线程的引擎,渲染都在主线程完成。商业的游戏