一种协同式的云渲染系统的制作方法

未命名 10-09 阅读:159 评论:0
1.本发明涉及云渲染
技术领域
:,尤其涉及一种协同式的云渲染系统。
背景技术
::2.将应用程序从本机搬到网络,由超级计算机集群负责运行,用户终端只需要通过客户端就能访问到所需的应用——这便是“云应用”的概念。把“云应用”和渲染相结合一直是研究者的目标之一,早在2009年的国际消费类电子产品展览会(internationalconsumerelectronicsshow,ces)上,amd公司率先提出了以云服务器渲染性能作为先决条件并以用户指令实时传输作为优化目标的云渲染系统(fusionrendercloudsystem,frcs).2013年,学者们进一步讨论了云渲染平台的构建方法,并进行了性能评估。近年来,随着在线视频游戏的普及,以云渲染为主要技术基础的云游戏成为当前云渲染技术的主要应用领域。3.现有技术的客观缺陷和存在以下的技术问题:4.延迟和稳定性问题:由于云渲染需要依赖于网络传输,因此它的延迟和稳定性常常会受到网络状况的影响,特别是在渲染大型场景时,会对渲染速度和质量产生影响。成本问题:云渲染需要使用云计算资源,因此它需要支付相应的费用。特别是在渲染大型场景时,费用会非常高昂。5.安全性问题:由于云渲染需要将用户的场景文件上传到云端服务器进行渲染,因此会涉及到数据安全问题。如果不加密或者处理不当,用户的数据很容易被窃取或者遭受其他安全问题。6.兼容性问题:不同的渲染引擎和渲染软件之间存在差异,这也可能会导致云渲染服务无法兼容所有的渲染软件和渲染引擎。7.可控性问题:由于云渲染需要将场景文件上传到云端服务器,因此用户无法完全掌控整个渲染过程,而且也无法对渲染过程进行及时的监控和调整,这可能会导致一些不可预料的问题。技术实现要素:8.针对上述不足,本发明所要解决的技术问题是:提供一种协同式的云渲染系统,对web3d云渲染实时动态光影的协同时渲染提出的4类关键的实时光影渲染算法,通过对算法运行帧率、算法所在设备的运行效率以及光影渲染结果等多种数据的分析优化。9.为解决上述技术问题,本发明的技术方案是:10.一种协同式的云渲染系统,包括web前端设备、云后端设备和光影渲染模块,所述光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;所述直接光照渲染单元通过直接光照计算进行渲染;所述阴影渲染单元通过阴影计算进行渲染;所述环境光遮挡渲染单元通过环境光遮挡计算进行渲染;所述间接光照渲染单元通过间接光照计算进行渲染,所述间接光照渲染单元运行在所述云后端设备;所述混合渲染单元通过混合计算进行渲染,所述混合渲染单元运行在所述web前端设备;根据所述web前端设备的设备性能,所述直接光照渲染单元、所述阴影渲染单元和所述环境光遮挡渲染单元运行在所述web前端设备或所述云后端设备。11.优选方式为,所述web前端设备为低性能设备时,所述混合渲染单元和一部分所述直接光照渲染单元运行在所述web前端设备上,另一部分所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述间接光照渲染单元均运行在所述云后端设备上。12.优选方式为,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:其中i′dl为web前端设备的局部光照渲染辐射度,wfront为前端光照辐射照度的权重,为云后端设备的局部光照渲染辐射度,vsh和vao是指阴影渲染和环境光遮罩渲染后当前光照的可见度,iil为间接光照渲染后所得相关辐射照度信息。13.优选方式为,所述web前端设备为高性能设备时,所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述混合渲染单元均运行在所述web前端设备上;所述间接光照渲染单元运行在所述云后端设备上。14.优选方式为,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:i=idlvshvsowfront+iilwback,其中idl是直接光照辐射照度渲染后所得相关辐射照度信息,vsh和vao是指阴影渲染和环境光遮罩渲染后当前光照的可见度,iil为间接光照渲染后所得相关辐射照度信息,wfront为前端光照辐射照度的权重,wback是后端光照辐射度所得权重。15.优选方式为,所述直接光照算法包括环境光照算法和传统光照算法;所述直接光照算法在web前端低性能设备上设定为环境光照算法,在web前端高性能设备上设定为传统光照算法,在所述云后端设备上设定传统光照算法。16.优选方式为,所述阴影算法包括shadowmap算法和varianceshadowmap算法;所述阴影算法在web前端低性能设备上没有设定,在web前端高性能设备设定为shadowmap算法,在所述云后端设备设定为varianceshadowmap算法。17.优选方式为,所述环境光遮挡算法包括screenspaceambientocclusion算法和voxelaccelerateambientocclusion算法;所述环境光遮挡算法在web前端低性能设备上没有设定,在web前端高性能设备上设定为screenspaceambientocclusion算法,在云后端设备上设定为voxelaccelerateambientocclusion算法。18.优选方式为,所述间接光照算法选用voxelconetracing算法;所述间接光照算法在云后端设备上设定为voxelconetracing算法。19.采用上述技术方案后,本发明的有益效果是:20.由于本发明的协同式的云渲染系统,包括web前端设备、云后端设备和光影渲染模块,光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;直接光照渲染单元通过直接光照计算进行渲染;阴影渲染单元通过阴影计算进行渲染;环境光遮挡渲染单元通过环境光遮挡计算进行渲染;间接光照渲染单元通过间接光照计算进行渲染,间接光照渲染单元运行在云后端设备;混合渲染单元通过混合计算进行渲染,混合渲染单元运行在web前端设备;根据web前端设备的设备性能,直接光照渲染单元、阴影渲染单元和环境光遮挡渲染单元运行在web前端设备或云后端设备。可见,本发明对web3d云渲染实时动态光影的协同时渲染提出的4类关键的实时光影渲染算法,最终通过对算法运行帧率、算法所在设备的运行效率以及光影渲染结果等多种数据的分析优化。具体实施方式21.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。22.一种协同式的云渲染系统,包括web前端设备、云后端设备和光影渲染模块,光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;直接光照渲染单元通过直接光照计算进行渲染;阴影渲染单元通过阴影计算进行渲染;环境光遮挡渲染单元通过环境光遮挡计算进行渲染;间接光照渲染单元通过间接光照计算进行渲染,间接光照渲染单元运行在云后端设备;混合渲染单元通过混合计算进行渲染,混合渲染单元运行在web前端设备;根据web前端设备的设备性能,直接光照渲染单元、阴影渲染单元和环境光遮挡渲染单元运行在web前端设备或云后端设备。23.需要特别说明的是:设备的渲染能力和其硬件性能相关,硬件的性能越强,渲染能力越强;反之则弱。正如拥有强大渲染能力的桌面pc,往往配置了较为优良的显卡设备,这种设备的功率较高,同时对散热要求苛刻;而受制于散热、电池(限制了总性能)以及设备物理空间影响的移动设备显然在性能上远远低于桌面pc,在硬件的渲染表现上也弱于桌面pc。因此,本系统同样根据设备的性能,将上述web前端硬件设备分为两类:以电池为主要供能的移动式低性能设备(移动电话、平板电脑、头戴式vr眼镜(带渲染内核)及性能较弱的移动pc)和外接电源为主要供能的高性能设备(高性能移动pc及高性能桌面pc)。24.本发明的一些实施例中,web前端设备为低性能设备时,混合渲染单元和一部分直接光照渲染单元运行在web前端设备上,另一部分直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元和间接光照渲染单元均运行在云后端设备上。25.当web前端运行在低性能硬件设备上时,其硬件设备渲染能力是有一定局限性的。因此,在云烘焙系统中,设定web前端运行的基本光照渲染任务为直接光照渲染,并将大部分的高计算量渲染任务放于云后端执行,如阴影渲染、环境光遮挡渲染和间接光照渲染等。然而,由于云后端的这些渲染任务都要借助局部光照信息,因而将部分直接光照渲染也放在云后端运行。26.上述机制使得云后端几乎包含了所有重要的渲染任务,在一定程度上几乎相当于远程渲染系统在服务器端所执行的任务。然而实际上在上述设定下,云烘焙系统仍然具备远程渲染系统无法实现的两个优势:27.(1)即使前端未及时收到后端传来的光图,web前端仍然有局部光照渲染效果被显示,不至于出现由于渲染帧缺失而造成的“卡帧”“黑屏”等渲染失真现象;(2)云后端借助“渲染延时优化策略”可以减少云后端的渲染帧率,使得云端的渲染服务器的资源消耗大大降低。28.综上,对于光影渲染最终所得光照辐射照度i的计算公式如下:29.i=ifrontwfront+ibackwback。30.其中ifront是web前端光影渲染所得光照辐射照度,wfront是前端光照辐射照度的权重,iback是云服务器后端渲染的光照辐射照度,wback是后端光照辐射度所得权重。下文中的idl和iil分别是直接光照辐射照度和间接光照渲染后所得相关辐射照度信息,其值分别保存在直接光照贴图和间接光照贴图中。vsh,vao是指阴影渲染和环境光遮罩渲染后,当前光照的可见度,其值在0.0到1.0之间,分别保存在阴影值图和环境光照贴图中。31.根据web前端低耗能设备的光影调度设定可知,web前端光影渲染所得光照辐射度ifront的计算公式为:32.ifront=i′dl。33.i′dl表示web前端的局部光照渲染辐射度,而^idl表示云后端的局部光照渲染辐射度,两者都与传统的局部光照渲染辐射度idl有所不同,而云服务器后端渲染的光照辐射度iback的计算公式为:[0034][0035]因此,可推导出本机制的最终输出渲染帧像素所包含的光照辐射度为:[0036][0037]由上式可以看出:[0038](1)当渲染系统的web前端采用低性能设备时,系统前后端的直接光照设定不同;(2)阴影贴图或环境光遮挡贴图中的像素将乘以直接光照贴图的像素才能得出相应的效果;(3)间接光照渲染贴图则只需将像素值直接加在其他渲染效果贴图像素值上;(4)最终的输出渲染帧是web端渲染图像帧和云端光图通过像素值直接相加而来的。[0039]本发明的另一些实施例中,web前端设备为高性能设备时,web前端将承担更多的渲染任务,直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元和混合渲染单元均运行在web前端设备上;间接光照渲染单元运行在云后端设备上。[0040]设定原因包括:(1)高性能pc端在three.js的协助下可以实时渲染(framepersecond(fps)大于30)硬阴影和环境光遮挡特效;(2)间接光照渲染作为高计算量的复杂光影渲染效果,仍将放在云后端。[0041]因此,根据web前端高耗能设备的光影调度设定可知web前端光影渲染所得光照辐射度ifront的计算公式为:[0042]ifront=idlvshvso。[0043]而云服务器后端渲染的光照辐射度的计算公式为:[0044]iback=iil。[0045]因此,可推导出本机制的最终输出渲染帧像素所包含的光照辐射度为:[0046]i=idlvshvsowfront+iilwback,其中idl是直接光照辐射照度渲染后所得相关辐射照度信息,vsh和vao是指阴影渲染和环境光遮罩渲染后当前光照的可见度,iil为间接光照渲染后所得相关辐射照度信息,wfront为前端光照辐射照度的权重,wback是后端光照辐射度所得权重。[0047]由上式可以看出:[0048](1)前端已完成局部光照及相关阴影效果的渲染;(2)后端只包含间接光照的渲染,相对于前端为低耗能设备的云烘焙系统,云后端的渲染任务大大降低。[0049]在确定以设备性能为导向的光影渲染机制后,本系统针对web前端低性能设备、web前端高性能设备以及云后端设备(设备的配置请参考表a1)选配合适的光影渲染算法并展开测试.考虑到web3d应用对帧率的要求,设定三维场景光影渲染的基本渲染帧率不低于30fps;测试场景设定为3d场景——sponza;测试参数包括设备全帧渲染时的帧率、cpu/gpu占有率和内存占用率,测试光影算法分为4类:直接光照算法、阴影算法、环境光遮挡算法以及间接光照算法.[0050]在本系统中,直接光照算法设定为两种,一种是渲染算力要求极低的环境光照算法(ambient),另一种是包含环境光照、漫反射光照和镜面反射光照在内的传统blinnphong(bp)光照算法.从表1可以看出,把ambient算法部署于web前端低性能设备上运行时,帧率达到46fps,且cpu/gpu以及内存的占用都在合理范围内(cpu占用率不超过50%,gpu占用率不超过90%,内存占用不超过2g视为合理).之后,将bp算法部署在web前端低性能设备、web前端高性能设备和云后端设备上测试,发现该算法在web前端低性能设备上无法运行顺畅,帧率低于前端基本帧率设定,而在另外两套设备中运行顺畅.因此,本系统的直接光照在web前端低性能设备上设定为ambient算法,在web前端高性能设备上设定为bp算法,而云后端设备同样设定为bp算法,如表2所示。[0051]表1光影渲染算法在不同设备中的表现[0052]table1theperformanceoflightingandshadowrenderingalgorithmsindufferentdevices[0053][0054]表2基于设备性能表现的光影渲染算法适配[0055]table2thelightingandshadowalgorithmselectionbasedondeviceconfiguration[0056][0057]本系统的实时阴影算法有两种,一种是渲染算力消耗较低,以硬阴影渲染为主的shadowmap(缩写为sm)算法,另一种则是渲染算力消耗较高,以软阴影渲染为主的varianceshadowmap(缩写为vsm)算法。如表1所示,把sm算法部署在web前端低性能设备上,发现sm算法在这种低性能设备上的运行帧率不到18fps,说明了sm算法部署于web前端低性能前端设备是不合理的。之后,再将sm算法部署在web前端高性能设备中测试,发现sm算法运行顺畅,帧率达到65fps,且硬件资源消耗在合理范围之内。再后,把复杂度较高且更具真实感的软阴影算法vsm部署在web前端高性能设备和云后端设备中测试,发现vsm算法在前端高性能设备上也只能达到22fps,无法运行顺畅,只有在云后端才能高帧率运行。因此,本系统的阴影算法在web前端低性能设备上没有设定,在web前端高性能设备设定为sm算法,而云后端设备设定为vsm算法,如表2所示。[0058]环境光遮挡属于全局光照渲染算法的一部分,反映了模型间接光照的遮挡细节,有极佳的真实感表现。本系统选用了两种环境光遮挡算法,一种是算法复杂度较低,基于屏幕空间渲染目标进行计算的screenspaceambientocclusion(缩写为ssao)算法,另一种是算法复杂度较高,但真实感较强,基于稀疏空间体素化的voxelaccelerateambientocclusion(缩写为vaao)算法。如表1所示,把ssao算法部署在web前端低性能设备上,发现运行不顺畅,帧率仅为23fps,低于基本渲染帧率要求,而web前端高性能设备能较好地支持。真实感较高的vaao算法有着比ssao更高的算法复杂度,所以只需把vaao算法部署在web前端高性能设备和云后端设备上。测试发现web前端高性能设备运行该算法的帧率不足20fps,且硬件资源的消耗明显超出合理范围,而云后端对该算法能高帧率顺畅运行。因此,本系统的环境光遮挡算法在web前端低性能设备上没有设定,在web前端高性能设备上设定为ssao算法,而云后端设备上设定为vaao算法,如表2所示。[0059]间接光照由直接光照系统下产生的漫反射颜色和镜面反射颜色作为二次光源继续反弹至其他物体表面所得。间接光照由于算法复杂度大,算力消耗要求高,在本系统中只在云端系统中部署。近年来间接光照实时渲染的方法有多种,比较突出的有reflectiveshadowmap(缩写为rsm)算法、lightpropagationvolume(缩写为lpv)算法及voxelconetracing(缩写为vct)算法等,其中vct算法以其优质的渲染结果和突出的渲染效率得到广泛应用,而本系统正是采用了该算法。表1中的测试结果表明,云后端可以高帧率顺畅运行该算法。因此,本系统的间接光照算法只在云后端设备上设定为vct算法,如表2所示。[0060]综上,本测试以经典模型sponza为测试对象,通过4类渲染算法与系统中3大设备的适配,充分阐述了本系统光影渲染的基本思想和实现流程。系统是从直接光照入手,使得场景先具有局部光照;之后,系统加入了光照的可见性计算,光照的可见性包括两部分,分别是对直接光照遮挡产生的阴影效果以及对间接光照遮挡所产生的环境光遮挡效果;最后是本系统复杂度最高的间接光照算法的实现。从表2可以看出,对于web前端低性能设备,只需实现算法复杂度极低的ambient直接光照算法,其他渲染效果均需通过云渲染予以辅助实现;而对于web前端高性能设备,实现了包括blinnphong直接光照算法、shadowmap阴影算法和sceenspaceambientocclusion环境光遮挡算法在内的3类光影渲染,云渲染只需辅助其间接光照的实现即可。[0061]本发明的优势为:在本系统中,把在视点p处图像的所有像素通过矩阵变换的方式转换到视点p′下拍摄的图片中,使用的这张渲染图不是由后端渲染而来的,而是通过已接收的云渲染图经过二次投影转换生成的。对于在新视点p′中看得见但在参考视点p中不可见的区域,新生成的图像会自动以黑色像素予以填充,从而产生“黑洞”失真现象。为此,本系统已采用基于纹理采样的补洞算法予以解决。[0062]以上仅为所述本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同一种协同式的云渲染系统的改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
技术特征:
1.一种协同式的云渲染系统,其特征在于,包括web前端设备、云后端设备和光影渲染模块,所述光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;所述直接光照渲染单元通过直接光照计算进行渲染;所述阴影渲染单元通过阴影计算进行渲染;所述环境光遮挡渲染单元通过环境光遮挡计算进行渲染;所述间接光照渲染单元通过间接光照计算进行渲染,所述间接光照渲染单元运行在所述云后端设备;所述混合渲染单元通过混合计算进行渲染,所述混合渲染单元运行在所述web前端设备;根据所述web前端设备的设备性能,所述直接光照渲染单元、所述阴影渲染单元和所述环境光遮挡渲染单元运行在所述web前端设备或所述云后端设备。2.根据权利要求1所述的协同式的云渲染系统,其特征在于,所述web前端设备为低性能设备时,所述混合渲染单元和一部分所述直接光照渲染单元运行在所述web前端设备上,另一部分所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述间接光照渲染单元均运行在所述云后端设备上。3.根据权利要求2所述的协同式的云渲染系统,其特征在于,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:其中i

dl
为web前端设备的局部光照渲染辐射度,w
front
为前端光照辐射照度的权重,为云后端设备的局部光照渲染辐射度,v
sh
和v
ao
是指阴影渲染和环境光遮罩渲染后当前光照的可见度,i
il
为间接光照渲染后所得相关辐射照度信息。4.根据权利要求1所述的协同式的云渲染系统,其特征在于,所述web前端设备为高性能设备时,所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述混合渲染单元均运行在所述web前端设备上;所述间接光照渲染单元运行在所述云后端设备上。5.根据权利要求4所述的协同式的云渲染系统,其特征在于,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:i=i
dlvshvso
w
front
+i
il
w
back
,其中i
dl
是直接光照辐射照度渲染后所得相关辐射照度信息,v
sh
和v
ao
是指阴影渲染和环境光遮罩渲染后当前光照的可见度,i
il
为间接光照渲染后所得相关辐射照度信息,w
front
为前端光照辐射照度的权重,w
back
是后端光照辐射度所得权重。6.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述直接光照算法包括环境光照算法和传统光照算法;所述直接光照算法在web前端低性能设备上设定为环境光照算法,在web前端高性能设备上设定为传统光照算法,在所述云后端设备上设定传统光照算法。7.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述阴影算法包括shadow map算法和variance shadow map算法;所述阴影算法在web前端低性能设备上没有设定,在web前端高性能设备设定为shadow map算法,在所述云后端设备设定为variance shadow map算法。
8.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述环境光遮挡算法包括screen space ambient occlusion算法和voxel accelerate ambient occlusion算法;所述环境光遮挡算法在web前端低性能设备上没有设定,在web前端高性能设备上设定为screen space ambient occlusion算法,在云后端设备上设定为voxel accelerate ambient occlusion算法。9.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述间接光照算法选用voxel cone tracing算法;所述间接光照算法在云后端设备上设定为voxel cone tracing算法。

技术总结
本发明公开了一种协同式的云渲染系统,包括光影渲染模块,光影渲染模块的直接光照渲染单元通过直接光照计算进行渲染,阴影渲染单元通过阴影计算进行渲染,环境光遮挡渲染单元通过环境光遮挡计算进行渲染,间接光照渲染单元通过间接光照计算进行渲染,间接光照渲染单元运行在云后端设备,混合渲染单元通过混合计算进行渲染,混合渲染单元运行在Web前端设备;根据Web前端设备的设备性能,各单元运行在Web前端设备或云后端设备。可见,本发明对Web3D云渲染实时动态光影的协同时渲染提出的4类关键的实时光影渲染算法,通过对算法运行帧率、算法所在设备的运行效率以及光影渲染结果等多种数据的分析优化。数据的分析优化。


技术研发人员:苏德文 严小天 刘宁 郭秋华 刘猛 王俊惠
受保护的技术使用者:青岛虚拟现实研究院有限公司
技术研发日:2023.06.09
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐