一种超大三维模型轻客户端浏览系统及方法与流程

文档序号:36126827发布日期:2023-11-22 18:54阅读:32来源:国知局
一种超大三维模型轻客户端浏览系统及方法与流程

本发明涉及测温设备,具体涉及一种超大三维模型轻客户端浏览系统及方法。


背景技术:

1、三维渲染,是使用计算机从数字三维场景中生成二维影像的过程;为了生成影像,需要使用特定的方法和特殊的软件和硬件;三维渲染这个过程,也就是构建影像的过程;渲染引擎分为光线追踪技术与光栅化技术。

2、光线追踪技术,光线追踪是通过追踪来自摄影机的光线穿过像素的虚拟平面并模拟其与物体相遇的效果来生成影像的;为了创造效果,必须追踪不同的光线;例如,为了获得阴影,必须追踪某些光线,为了获得反射,必须追踪其他光线等等。

3、光线追踪技术被用来创建逼真的影像;如果我们必须计算场景中大量的灯光和物体,就会大幅增加渲染影像的时间;三维艺术家必须考虑场景中一切事物的影响,包括反射、折射和半透明,以及更复杂的元素,如置换、次表面散射和实例物体。

4、光栅化技术,这种技术可让我们快速获得影像,但没有如光线追踪所提供的逼真;光栅化在游戏引擎中非常常见,最大的优点是能提供实时体验,玩家可在3d场景中移动并与之互动;在光栅化中,屏幕上的物体是由虚拟三角形的网格创建的,创建了物体的三维模型;在这个虚拟网格中,每个三角形的角被称为顶点,与具有不同形状和大小的其他三角形的顶点相交;每顶点都提供特定的信息,通过收集所有数据,构成物体的形状;然后,计算机将三维模型的三角形转换为二维屏幕上的像素,我们就能看到最终的影像;光栅化技术可能会涉及大量计算,因为场景中的所有物体可能有数百万个多边形,而屏幕上有数百万个像素。

5、以上两种方法都会涉及到使用专业的硬件及软件技术,对机器的运算性能与显卡gpu的要求都很高,这样设计人员与查看人员使用时都需要一个很高软硬件配置的pc机或图型工作站,并且必须使用对应专业的三维软件打开,不同设计软件之间的三维模型不通用;这样无论在三维设计端与三维应用查看端都需要较高的成本投入,包括软件硬件的投入,软件的授权等,使得三维设计不能在企业中很好的推广只能作为辅助设计存在;各企业都是设置几个试验点几个高性能pc或工作站供员工试点使用,为三维设计与应用推广造成了很大的阻碍。

6、因此,现有技术存在不足,需要进一步改进。


技术实现思路

1、针对现有技术存在的问题,本发明提供一种超大三维模型轻客户端浏览系统及方法。

2、为实现上述目的,本发明的具体方案如下:

3、本发明提供一种超大三维模型轻客户端浏览系统,包括:

4、三维模型转换模块、三维模型预加载模块、三维模型远程渲染模块、图像传输模块、交互模块;

5、所述三维模型转换模块,用于将不同格式的三维模型转换为统一的通用格式;

6、所述三维模型预加载模块,将通用格式的二进制文件转成渲染引擎可以识别的三维模型对象;

7、所述三维模型远程渲染模块,用渲染引擎对三维模型对象进行渲染,形成视频或图像文件;

8、所述图像传输模块,将渲染后形成的视频或图像文件,通过http网络传递给客户端,在客户端进行渲染结果的展现;

9、所述交互模块,用于提供服务器端与客户端的交互。

10、进一步地,所述三维模型转换模块,在渲染之前将不同格式的三维模型文件转换为统一的格式,实现三维模型的中性化,将常见的三维格式3ds、dri、fbx、prt、step转换成统一的glb或gltf的通用格式,用于进行预处理与服务器端的渲染;各类型的文件转换基于不同的软件进行程序调用,将其转换为通用的格式。

11、进一步地,所述三维模型预加载模块,将二进制文件glb或gltf转成渲染引擎可以识别的对象类型,预先加载为三维模型对象,将三维模型对象序列化后以二进制文件的方式存储到磁盘中,下次再加载时直接还原到内存中使用。

12、进一步地,所述三维模型远程渲染模块,利用渲染引擎opengl、vulkan或者directx对三维模型对象进行渲染,包括对三维模型对象中的背景天空盒子、光照信息、阴影贴图、着色信息进行处理,以视频或图像的形式返回给前端进行展现。

13、进一步地,所述交互模块,用于服务器与客户端的交互,客户端实时捕获用户的操作,包括用户的点击移动动作,放大缩小动作,将动作转换为服务请求发给服务器,服务器根据客户端的动作进行三维模型的姿态的调整,调整后重新生成新的姿态的视频与图像返回给客户端,客户端的感受为实时进行三维模型的操作。

14、进一步地,所述客户端的操作需要实时反映到服务器端,并进行相关的操作,这个过程中需要对模型进行相应的转换操作,涉及到的计算如下:

15、平移变换:平移变换用于将三维模型在三维空间中沿着不同方向进行移动;

16、假设需要将一个点(x,y,z)沿着向量(tx,ty,tz)进行平移;

17、计算公式为:新点(x',y',z')=(x+tx,y+ty,z+tz);

18、缩放变换:缩放变换用于调整三维模型的大小;

19、假设需要将一个点(x,y,z)沿着三个方向分别缩放为(sx,sy,sz)倍,

20、计算公式为:新点(x',y',z')=(x*sx,y*sy,z*sz);

21、旋转变换:旋转变换用于使三维模型绕某个中心点或轴旋转一定角度;旋转变换有三种类型:绕x轴旋转、绕y轴旋转和绕z轴旋转;

22、对于绕x轴旋转,假设旋转角度为θ,计算公式为:新点(x',y',z')=(x,y*cosθ-z*sinθ,y*sinθ+z*cosθ);

23、类似地,对于绕y轴旋转,旋转角度为θ,计算公式为:新点(x',y',z')=(x*cosθ+z*sinθ,y,-x*sinθ+z*cosθ);

24、而对于绕z轴旋转,旋转角度为θ,计算公式为:新点(x',y',z')=(x*cosθ-y*sinθ,x*sinθ+y*cosθ,z);

25、综合变换:如果需要同时对三维模型进行多种变换操作,则将这些操作组合成一个综合变换矩阵,并将原始点坐标与该矩阵相乘得到变换后的点坐标;综合变换矩阵可以由平移、缩放和旋转的矩阵相乘得到。

26、进一步地,所述客户端的图像显示,浏览器端采用js技术进行视频与图像的显示无需使用任何的插件,使用户可以即开即使用,无需安装任何软件即可以浏览三维模型。

27、本发明还一种超大三维模型轻客户端浏览方法,采用上述的系统,该方法包括如下步骤:

28、s1,所述三维模型转换模块将不同格式的三维模型转换为统一的通用格式;

29、s2,所述三维模型预加载模块将通用格式的二进制文件转成渲染引擎可以识别的三维模型对象;

30、s3,所述三维模型远程渲染模块用渲染引擎对三维模型对象进行渲染,形成视频或图像文件;

31、s4,所述图像传输模块,将渲染后形成的视频或图像文件,通过http网络传递给客户端,在客户端进行渲染结果的展现;

32、s5,客户端通过交互模块,对服务器中的三维模型进行操作,操作后的结果经过步骤s1-s4再反馈给客户端进行展现。

33、进一步地,步骤s3中,所述三维模型远程渲染模块用渲染引擎对三维模型对象进行渲染,具体包括如下步骤:

34、s301,读取三维模型对象;

35、s302,将三维模型对象序列化形成二进制文件;

36、s303,直接加载序列化的二进制文件到内存中;

37、s304,渲染背景天空盒子;

38、s305,计算光源信息;

39、s306,计算阴影信息;

40、s307,处理着色信息;

41、s308,处理贴图信息;

42、s309,渲染模型;

43、s310,视频图像输出。

44、采用本发明的技术方案,具有以下有益效果:

45、1.让用户直接使用web浏览器浏览各种类型的三维文件,不依赖于专业的三维软件,在服务端预先将三维模型进行预处理将处理结果以图像的形式推送给客户端进行浏览,这种技术对客户端的性能要求非常低,客户端只要有显示能力即可以浏览三维模型,无需配置专业的高性能的显卡即可以流畅的浏览超大的三维模型,客户端无渲染性能压力、无兼容性问题、加载速度快等优势;做到不同的客户端浏览三维模型一致显示质量无差异的效果,为三维设计全方面推广提供了低成本的解决方案。

46、2.多类型三维格式服务器端渲染技术,无需在服务器端安装各类型的专业三维软件,即可以实现多类型的三维格式在服务器端进行渲染;

47、3.服务器渲染预加载技术,将三维文件原格式转成三维引擎可加载的对象需耗费大量的性能与时间,本技术将转换后的对象直接存储在磁盘上,可以直接加载无需要转换的过程;

48、4.轻客户端浏览方案,通过服务器渲染后的三维模型直接以图像或视频流的方式传递给客户端进行展示,系统无需具备较高的配置就可以实现三维模型的浏览;

49、5.跨平台浏览三维模型,通过视频与图像流的方式在客户端进行三维模型的浏览,实现了模型浏览跨平台、兼容性等问题,让所有的客户端浏览的结果一致。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1