基于统一资源定位符解析的云计算渲染方法
技术领域
本发明涉及计算机图像处理技术,具体涉及一种应用于云计算环境下的三维图像按需自定义渲染方法,应用于三维模型的高质量按需网络发布,也应用于基于三维模型进行的产品宣传材料,操作说明书等的设计制作。
背景技术
高质量的产品效果图像广泛应用于产品概念设计、市场推广乃至售后服务等整个产品生命周期;当前,通常由公司的工业设计人员设计好产品结构后自行制作或交由专门的设计公司代为制作,在实际操作中存在几个问题:
1)三维软件价格昂贵,配置复杂,使用难度大不易上手。
2)相对于高质量的三维渲染而言,普通的客户端机器图形性能较低,其计算能力无法满足渲染的要求,直接表现为渲染效果差或者渲染耗时很长,无法有效应用。
3)产品设计更新后,其对应的效果图像无法及时更新;实际产品和相关材料上的图像不一致导致各种问题,甚至引发用户纠纷。
云计算渲染方法利用云端(服务器端)的强大计算能力,能在极短的时间内渲染出高质量的三维效果图像,近年已在国内外得到应用推广,但是现有的云计算渲染方式仍然需要在客户计算机上用相应的三维效果图制作软件设计好准确无误的三维渲染场景才能上传渲染服务器进行渲染,只是得到计算能力的提升,仅解决了上述的问题(2);如果将业务外包给专业的设计公司,那么问题(1)和(2)虽然解决了,但是需要支付高昂的设计费用,而且没有哪家设计公司可以实时地,不厌其烦的根据你的设计变动,实时提供这些效果图像,况且,所有设计合同都是有期限的。
中国专利CN1805354公开一种基于远程渲染的三维模型网络发布方法,把高精度模型保存在渲染服务器上,客户端的三维浏览器只提供大幅精简的粗糙模型。用户可以在客户端对粗模型进行缩放,平移和旋转等操作,选择最佳的观察视点。当用户停止操作时,客户端向服务器发送一个渲染请求,该请求中包含用户当前的视点、方向和光照条件等信息,服务器根据客户端请求进行渲染并返回高精度模型的图像。因为敏感的高精度模型保存在客户端,因此该发明具有先天的安全性优势;因为客户端和服务器之间只在用户停止操作时传输平均大小为30KB的图像,所以发明对网络要求很低;此外客户端只需要渲染极为简单的精简版模型,所以不需要很高的图形性能。
中国专利CN1845177公开一种基于图像传输的三维远程渲染系统,包括可交互的服务器端和客户端,服务器端设有模型文件管理单元、三维渲染引擎单元、图像编解码压缩单元和网络传输单元,客户端设有网络传输单元和用户交互单元,服务器端接收到客户端通过网络传输单元发送的浏览请求命令后,由模型文件管理单元读取要求浏览的模型文件,经三维渲染引擎单元渲染生成图像数据经图像编解码压缩单元压缩通过网络传输单元发送给客户端,客户端对压缩图像数据进行解码通过用户界面显示。
中国专利CN101339646公开一种适用于互联网的3D图像制作及其互动展示方法,该方法是在图像制作系统中制作好图片阵列并压缩成流媒体格式的3D图像文件上传到网络服务中,然后由客户下载到客户机的内存中解压进行展示。该发明所述方法所获得的3D图像,特别适合网上在线观看,客户不但可随心所欲地观看被摄物体的所有部位及其旋转的效果,而且还可停下来仔细观察局部细节。
中国专利CN101217576B公开一种用于主要解决一般网络用户在互联网上架设网络服务,可让用户无须购买独立IP情况下,在自己的电脑上架设网络服务的动态域名解析系统及其动态解析方法。设有服务器端和客户端。服务器端设有DDNS服务器、DNS服务器、WEB转发服务器、Registrarb数据库和dyndn数据库;DDNS服务器分别与DNS服务器、Registrarb数据库、dyndn数据库和客户端连接,DNS服务器与访问者连接;客户端与WEB转发服务器和访问者连接,客户端程序安装在ddns用户的电脑上,并需要一直为开启状态,客户端通过网络与DDNS服务器进行信息交互。
中国专利CN101561988公开一种全景图展示方法,其包括:获得场景中每一个角度下的场景图;当场景中包括动态元素的时候,在后台播放所述动态元素,实时抓取所述动态元素的视频流;将所述实时抓取的视频流进行处理,嵌入在场景中对应的位置上;和实时渲染每个角度下的场景图,并将渲染好的场景图投影在一个半球面上,将观察点设在所述半球面的球心上。
中国专利CN101673409公开一种应用于计算机桌面的图像渲染方法,包括以下步骤:(1)创建一个支持透明通道的窗口;(2)计算出图像中每个像素的显示坐标,用三维图形加速接口将该图像放大并渲染至显存贴图中,背景色设为成黑色ARGB;(3)对图像中相邻若干点的色彩值计算平均值,并将渲染后的贴图缩放至输出大小;(4)通过三维图形加速接口操作将显存中的贴图交换到内存贴图上;(5)使用二维Alpha混合函数将内存贴图绘画到桌面上,使图像显示于桌面之上。该发明可实现三维动漫形象无论在任何桌面背景下都可以清晰、圆润地实时渲染出来,达到良好的表现形式,消除了三维图像边缘部分的锯齿形状,使得图像显示更加真实,达到平滑过渡的效果。
发明内容
本发明的目的在于克服现有技术的上述不足,提供一种可有效地解决上述问题,实现即时调用、保持更新、无需配置、高度可定制、按需实时的基于统一资源定位符解析的云计算渲染方法。
本发明包括以下步骤:
(1)将高精度模型保存在服务器上,由服务器分配一个唯一识别码UID;
(2)客户端的用户通过网页调用等形式请求包含此UID的统一资源定位符(URL);
(3)解析服务器端接收到的统一资源定位符(URL)请求,得到用于渲染器的渲染参数;
(4)判断渲染图像缓存中是否已存在符合所需渲染参数的图像,如果图像存在并且无需更新则将其返回给客户端,过程结束;
(5)若步骤(4)中图像不存在或存在的图像需要更新,则将渲染参数传递给渲染器进行渲染;
(6)将渲染完成的图像返回给客户端,并将其加入渲染图像缓存,过程结束。
在步骤(1)中,所述高精度模型是由用户预先上传至服务器的各种格式三维模型,并在客户上传时转换成渲染器适用的文件格式,并由云端服务器对所有用户上传的文件进行版本控制管理,提供历史可追溯记录防止用户对模型的误操作;所述由用户预先上传至服务器的各种格式可采用IGES,STEP,Parasolid等中性CAD格式,Solidworks,CATIA,ProE,3dsmax等常见三维设计软件格式;所述唯一识别码UID为一固定位数的字符串,由字母及数字组成,为提高其容错能力,不区分大小写,但在云端服务器上唯一对应一个三维模型文件。
在步骤(2)中,所述统一资源定位符(URL)由4部分以A://B/C/D的形式构成,其中A为互联网通信协议,通常为http,或是加密的https;B为云端服务器名称;C为权利要求3所述的唯一识别码UID;D为用户需要的图像参数,图像参数D可由模型上传用户,所述图像参数D通常有三维模型的视角参数,图像尺寸参数、图像渲染样式参数、图像格式参数、分辨率参数、版本参数、日期参数、可旋转全视角参数,所述视角参数为top(顶视图),left(左视图)等通用视角名称或其它预先定义名称的任意视角;所述图像尺寸参数可为800×600,表示需要的图像为长800像素、宽600像素,也可只提供长或宽,另一参数由渲染服务器根据预先设定规则自行计算;所述图像渲染样式参数可为wire表示线框图,real表示真实效果图;所述图像格式参数可为JPG,PNG;所述分辨率参数可为dpi300,表示返回300dpi的印刷分辨率图像;所述版本参数可为ver1,ver10;所述日期参数为dateABCDEFGH,表示返回三维模型在ABCD年EF月GH日的对应图像,而不是默认的最新图像;所述可旋转全视角参数可为rotate360,返回360度可交互旋转的模型展示网页页面;各个参数间由分隔符“+”连接,为提高其容错能力,图像参数D不区分大小写,各种参数叠加的先后顺序无关,可根据使用习惯安排;所述客户端的用户通过网页调用等形式请求,可选择性地加入权限控制,以保护模型上传用户不愿公开的内容;例如可以设定访问密码,这种方法简单易用但安全性不高,也可以使用安全性高的数字证书,或者结合这两种获得更高的安全性。
在步骤(3)中,所述渲染参数不直接等同于步骤(2)中的图像参数,根据用户所需图像参数和具体选择的渲染器类型而有所差异。
与现有获得高质量的产品效果图像的方法相比本发明具有以下优点:
1)成本低
用户无需购买昂贵的专业效果图制作软件,无需配备专门岗位的操作人员。
2)易于使用
将各种三维格式直接上传云计算服务器即可,无需格式转换;具体调用时只需要描述所需要的图像参数就能获取对应的图像。例如http://SERVER/UID/left+wire+800x600+JPG返回服务器SERVER上UID对应的三维模型最新版本的尺寸为800像素x600像素的JPG格式的线框图;如果模型修改了,只需要重新调用这个URL网址就能获得修改后的图像,如果是应用在网页上只需要刷新页面就行了。
3)效果好
云端服务器上的渲染器由专业的渲染技术人员进行设置,保持更新并最优化配置。
4)安全
可进行权限控制,仅让指定的人获得访问权限;整个过程不会下载三维模型到客户端,不会出现由此引发的产品机密信息泄露。
附图说明
图1为本发明实施例的具体流程图。
具体实施方式
结合附图的流程图,可以有这样一种应用场景:
(1)用户登录云计算渲染服务器,上传高精度模型,接受系统默认设置设置访问密码PASSWORD,服务器对上传的模型进行格式转换并分配一个唯一识别码UID对应此模型。
(2)客户端的用户设计网页,在网页中以包含此UID的统一资源定位符(URL)的形式调用效果图片;调用的代码片段:
<img src=″http://SERVER/UID/top+400x300″>
(3)用户访问网页,服务器端解析接收到的统一资源定位符(URL)请求″http://SERVER/UID/top+400x300″,得到用于渲染器的渲染参数:
渲染参数:
模型:UID
视图:顶视图(top)
分辨率:400像素x300像素。
(4)判断渲染图像缓存中是否已存在符合所需渲染参数的图像,因这是模型上传后首次请求渲染图像,渲染图像缓存中无此图像。
(5)三维渲染引擎渲染所需的图像。
(6)将渲染完成的图像返回给客户端,并将其加入渲染图像缓存。
(7)用户邀请其客户访问同一个网页。
(8)用户的客户打开浏览器,访问页面。
(9)服务器端解析接收到的统一资源定位符(URL)请求,要求输入密码进行验证,用户的客户输入密码PASSWORD,验证通过。
(10)解析请求,判断渲染图像缓存中已存在符合所需渲染参数的图像,直接返回图像。
(11)用户的客户看到页面。