本发明涉及云渲染,尤其涉及一种协同式的云渲染系统。
背景技术:
1、将应用程序从本机搬到网络,由超级计算机集群负责运行,用户终端只需要通过客户端就能访问到所需的应用——这便是“云应用”的概念。把“云应用”和渲染相结合一直是研究者的目标之一,早在2009年的国际消费类电子产品展览会(internationalconsumer electronics show,ces)上,amd公司率先提出了以云服务器渲染性能作为先决条件并以用户指令实时传输作为优化目标的云渲染系统(fusion render cloud system,frcs).2013年,学者们进一步讨论了云渲染平台的构建方法,并进行了性能评估。近年来,随着在线视频游戏的普及,以云渲染为主要技术基础的云游戏成为当前云渲染技术的主要应用领域。
2、现有技术的客观缺陷和存在以下的技术问题:
3、延迟和稳定性问题:由于云渲染需要依赖于网络传输,因此它的延迟和稳定性常常会受到网络状况的影响,特别是在渲染大型场景时,会对渲染速度和质量产生影响。成本问题:云渲染需要使用云计算资源,因此它需要支付相应的费用。特别是在渲染大型场景时,费用会非常高昂。
4、安全性问题:由于云渲染需要将用户的场景文件上传到云端服务器进行渲染,因此会涉及到数据安全问题。如果不加密或者处理不当,用户的数据很容易被窃取或者遭受其他安全问题。
5、兼容性问题:不同的渲染引擎和渲染软件之间存在差异,这也可能会导致云渲染服务无法兼容所有的渲染软件和渲染引擎。
6、可控性问题:由于云渲染需要将场景文件上传到云端服务器,因此用户无法完全掌控整个渲染过程,而且也无法对渲染过程进行及时的监控和调整,这可能会导致一些不可预料的问题。
技术实现思路
1、针对上述不足,本发明所要解决的技术问题是:提供一种协同式的云渲染系统,对web3d云渲染实时动态光影的协同时渲染提出的4类关键的实时光影渲染算法,通过对算法运行帧率、算法所在设备的运行效率以及光影渲染结果等多种数据的分析优化。
2、为解决上述技术问题,本发明的技术方案是:
3、一种协同式的云渲染系统,包括web前端设备、云后端设备和光影渲染模块,所述光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;所述直接光照渲染单元通过直接光照计算进行渲染;所述阴影渲染单元通过阴影计算进行渲染;所述环境光遮挡渲染单元通过环境光遮挡计算进行渲染;所述间接光照渲染单元通过间接光照计算进行渲染,所述间接光照渲染单元运行在所述云后端设备;所述混合渲染单元通过混合计算进行渲染,所述混合渲染单元运行在所述web前端设备;根据所述web前端设备的设备性能,所述直接光照渲染单元、所述阴影渲染单元和所述环境光遮挡渲染单元运行在所述web前端设备或所述云后端设备。
4、优选方式为,所述web前端设备为低性能设备时,所述混合渲染单元和一部分所述直接光照渲染单元运行在所述web前端设备上,另一部分所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述间接光照渲染单元均运行在所述云后端设备上。
5、优选方式为,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:其中i′dl为web前端设备的局部光照渲染辐射度,wfront为前端光照辐射照度的权重,为云后端设备的局部光照渲染辐射度,vsh和vao是指阴影渲染和环境光遮罩渲染后当前光照的可见度,iil为间接光照渲染后所得相关辐射照度信息。
6、优选方式为,所述web前端设备为高性能设备时,所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述混合渲染单元均运行在所述web前端设备上;所述间接光照渲染单元运行在所述云后端设备上。
7、优选方式为,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:i=idlvshvsowfront+iilwback,其中idl是直接光照辐射照度渲染后所得相关辐射照度信息,vsh和vao是指阴影渲染和环境光遮罩渲染后当前光照的可见度,iil为间接光照渲染后所得相关辐射照度信息,wfront为前端光照辐射照度的权重,wback是后端光照辐射度所得权重。
8、优选方式为,所述直接光照算法包括环境光照算法和传统光照算法;所述直接光照算法在web前端低性能设备上设定为环境光照算法,在web前端高性能设备上设定为传统光照算法,在所述云后端设备上设定传统光照算法。
9、优选方式为,所述阴影算法包括shadow map算法和variance shadow map算法;所述阴影算法在web前端低性能设备上没有设定,在web前端高性能设备设定为shadow map算法,在所述云后端设备设定为variance shadow map算法。
10、优选方式为,所述环境光遮挡算法包括screen space ambient occlusion算法和voxel accelerate ambient occlusion算法;所述环境光遮挡算法在web前端低性能设备上没有设定,在web前端高性能设备上设定为screen space ambient occlusion算法,在云后端设备上设定为voxel accelerate ambient occlusion算法。
11、优选方式为,所述间接光照算法选用voxel cone tracing算法;所述间接光照算法在云后端设备上设定为voxel cone tracing算法。
12、采用上述技术方案后,本发明的有益效果是:
13、由于本发明的协同式的云渲染系统,包括web前端设备、云后端设备和光影渲染模块,光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;直接光照渲染单元通过直接光照计算进行渲染;阴影渲染单元通过阴影计算进行渲染;环境光遮挡渲染单元通过环境光遮挡计算进行渲染;间接光照渲染单元通过间接光照计算进行渲染,间接光照渲染单元运行在云后端设备;混合渲染单元通过混合计算进行渲染,混合渲染单元运行在web前端设备;根据web前端设备的设备性能,直接光照渲染单元、阴影渲染单元和环境光遮挡渲染单元运行在web前端设备或云后端设备。可见,本发明对web3d云渲染实时动态光影的协同时渲染提出的4类关键的实时光影渲染算法,最终通过对算法运行帧率、算法所在设备的运行效率以及光影渲染结果等多种数据的分析优化。
1.一种协同式的云渲染系统,其特征在于,包括web前端设备、云后端设备和光影渲染模块,所述光影渲染模块包括直接光照渲染单元、阴影渲染单元、环境光遮挡渲染单元、间接光照渲染单元和混合渲染单元;
2.根据权利要求1所述的协同式的云渲染系统,其特征在于,所述web前端设备为低性能设备时,所述混合渲染单元和一部分所述直接光照渲染单元运行在所述web前端设备上,另一部分所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述间接光照渲染单元均运行在所述云后端设备上。
3.根据权利要求2所述的协同式的云渲染系统,其特征在于,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:
4.根据权利要求1所述的协同式的云渲染系统,其特征在于,所述web前端设备为高性能设备时,所述直接光照渲染单元、所述阴影渲染单元、所述环境光遮挡渲染单元和所述混合渲染单元均运行在所述web前端设备上;所述间接光照渲染单元运行在所述云后端设备上。
5.根据权利要求4所述的协同式的云渲染系统,其特征在于,所述云渲染系统最终输出渲染帧像素所包含的光照辐射度为:
6.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述直接光照算法包括环境光照算法和传统光照算法;
7.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述阴影算法包括shadow map算法和variance shadow map算法;
8.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述环境光遮挡算法包括screen space ambient occlusion算法和voxel accelerate ambientocclusion算法;
9.根据权利要求1至5任一项所述的协同式的云渲染系统,其特征在于,所述间接光照算法选用voxel cone tracing算法;所述间接光照算法在云后端设备上设定为voxel conetracing算法。