CN106909640B - 基于webgl的三维模型轻量化展示技术 - Google Patents

基于webgl的三维模型轻量化展示技术 Download PDF

Info

Publication number
CN106909640B
CN106909640B CN201710083905.3A CN201710083905A CN106909640B CN 106909640 B CN106909640 B CN 106909640B CN 201710083905 A CN201710083905 A CN 201710083905A CN 106909640 B CN106909640 B CN 106909640B
Authority
CN
China
Prior art keywords
data
animation
index
discrete
webgl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710083905.3A
Other languages
English (en)
Other versions
CN106909640A (zh
Inventor
陈志杨
彭维
蒋跃华
岳志林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou New Dimension Systems Co ltd
Original Assignee
Wuhan Xindi Digital Engineering System Co ltd
New Dimension Systems Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Xindi Digital Engineering System Co ltd, New Dimension Systems Co ltd filed Critical Wuhan Xindi Digital Engineering System Co ltd
Priority to CN201710083905.3A priority Critical patent/CN106909640B/zh
Publication of CN106909640A publication Critical patent/CN106909640A/zh
Application granted granted Critical
Publication of CN106909640B publication Critical patent/CN106909640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明涉及一种基于webgl的三维模型轻量化展示技术,包括下述步骤:(1)获取模型的几何和材质,根据模型树生成场景树,若有动画则生成动画树;(2)获取几何的离散三角形和线段;(3)缩小化三角形索引,以提高压缩算法压缩率;(4)压缩三角形法向数据;(5)缩小化线段的索引;(6)几何对象进行分块处理;(7)几何分块用lzma压缩生成若干bin文件;(8)几何和材质的属性、场景树和动画树数据json化,生成js文件;(9)读取并解压文件,还原三角形和线段,建立场景和动画并渲染。本发明提供了将多格式三维模型转化为轻量化的中间格式数据方法,并可基于webgl直接在浏览器中进行展示,缩减了模型大小,提高了模型在网页中的加载和显示速度。

Description

基于webgl的三维模型轻量化展示技术
技术领域
本发明涉及一种在web上展示三维模型的技术,尤其是涉及一种基于webgl的三维模型轻量化展示技术。
背景技术
随着网络技术和计算机技术的发展,基于Web的三维可视化技术也得到了快速的发展,并有着广泛的应用。但传统的用于实现三维数据的Web3D技术,包括VRML、Java3D、Flash3D等技术,都需要安装插件或着加载组件,而且具有操作性复杂、兼容性差等缺点。webgl规范的出现使得三维数据无需插件直接在网络浏览器中的可视化成为现实。webgl可以为浏览器提供硬件图形加速渲染,借助系统显卡,开发人员可以在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。webgl技术标准免去了开发网页专用渲染插件的麻烦,能够跨平台且被众多浏览器厂商广泛支持。
目前webgl越来越被广泛的用于在web上展示3D模型,完成各种交互。但很多原始3D模型是在PC三维设计软件中产生的,格式会多种多样,并不能被webgl直接解析,而且三维产品模型往往复杂程度高、数据规模庞大,在基于web展示时会由于数据过大导致无法加载或者加载过于缓慢,严重影响用户体验。在进行webgl显示前,首先要对原始格式的3D模型数据进行解析和转换,在转换过程中对数据进行轻量化,得到尽可能小的中间格式文件,使3D模型能被快速加载,并减少服务器上3D模型所占用的空间,是基于webgl展示技术的关键。
发明内容
为了克服现有技术存在的不足,本发明提供了一种基于webgl的三维模型轻量化展示技术,其可基于webgl直接在浏览器中进行展示,缩减了模型大小,提高了模型在网页中的加载和显示速度。
本发明采用的技术方案是:
一种基于webgl的三维模型轻量化展示技术,包括下列步骤:
(1)对第三方格式的三维模型进行预处理,获取所有几何对象并去除重复的对象,再根据其材质信息生成对应的材质对象,根据模型树结构生成对应的场景树结构,若模型存在动画,则生成对应的动画树结构;
(2)对所有几何对象进行预处理,获取几何对象的离散三角形和离散线段数据,离散三角形包括顶点数据、UV数据、法向数据和索引数据,离散线段包括顶点数据和索引数据;
(3)对离散三角形的索引数据进行排序并对其值进行缩小化处理,以提高压缩算法对索引数据的压缩率;先找出每个三角形的索引的最小值,以最小值重新定义三角形索引顺序,而后将所有三角形以第一个顶点和第二个顶点的索引大小进行从小到大的排序,最后利用错位相减法对所有三角形的索引进行缩小化处理;
(4)对离散三角形的法向量按照象限区分后进行整数化处理,减少法向数据存储的字节数;
(5)对离散线段的索引数据进行缩小化处理;
(6)对所有几何对象进行分块处理;
(7)对所有的几何对象的分块分别进行lzma的压缩处理并生成后缀为bin的若干文件;
(8)对所有几何对象和材质对象的属性数据、场景树和动画树进行json化处理,生成后缀为js的主文件,记录几何对象、材质对象、场景树结构、动画树结构以及其他自定义数据;
(9)前端分别读取js主文件和bin文件,对bin文件进行解压后,再对离散三角形和离散线段的数据进行还原处理,根据场景树结构和动画树结构分别建立场景和动画对象,之后利用webgl渲染场景和动画对象。
作为优选,所述的步骤(1)按下述方法进行:先通过相关api获取模型中所有几何对象节点,然后对重复节点去冗余,记录其相关属性数据,同时获取几何对象对应的材质信息,生成材质对象,最后根据模型树结构生成对应的场景树结构。
作为优选,所述的步骤(2)按下述方法进行:根据设置的精细度(粗糙、中等、精细),通过相关api控制离散精度,获取离散三角形和离散线段数据,其中,离散三角形的数据定义为:顶点数据为每个顶点坐标由三个单精度浮点数表示;UV数据为每个顶点的UV由两个单精度浮点数表示;法向数据为每个顶点的法向量由三个单精度浮点数表示;索引数据为每个三角形的索引由4位的三个整数表示;其中,离散线段的数据形式为:顶点数据为每个顶点坐标由三个单精度浮点数表示;索引数据为每个线段的索引由4位的两个整数表示。
作为优选,所述的步骤(3)按下述方法进行:对于每个三角形的三个索引v1、v2和v3,在右手法则的约束下,找出其中的最小值,假定最小值为v2,则新的索引顺序为v2、v3、v1,将所有三角形按照第一个顶点和第二个顶点的索引大小进行从小到大的排序,假设排序后的离散三角形索引为f(n)=(v1,v2,v3,v4,v5,v6,…,vn),其中n为所有三角形的顶点数量,利用错位相减法进行缩小,对于第一个三角形(v1,v2,v3),执行v2=v2–v1和v3=v3–v1的运算,对于其他三角形,如(v4,v5,v6),先执行v6=v6–v4的运算,然后若v4等于v1,则执行v5=v5–v2的运算,若v4不等于v1,则执行v5=v5–v4的运算,最后执行v4=v4–v1的运算,其他三角形依次类推。
作为优选,所述的步骤(4)按下述方法进行:对于离散三角形的归一化法向量(n1,n2,n3),首先在三维空间的八象限中计算出其值所在的对应象限并记录下象限编号gradNum,其中(0,1,2,3,4,5,6,7)分别代表一至八象限,象限编号用一个字节表示;若法向的精度设置为中等,则执行n1=abs(n1)*65535+0.5、n2=abs(n2)*65535+0.5和n3=abs(n3)*65535+0.5的运算,值取整后每个分量用2个字节表示;若法向的精度设置为粗糙,则执行n1=abs(n1)*255+0.5、n2=abs(n2)*255+0.5和n3=abs(n3)*255+0.5的运算,值取整后每个分量用1个字节表示;经过上述处理后,一个包含3个浮点数,12个字节的法向数据可以用(gradNum,n1,n2,n3)表示,中等精度下压缩为7个字节,粗糙精度下压缩为4个字节。
作为优选,所述的步骤(5)按下述方法进行:对于离散线段的索引,假设其为f(m)=(v1,v2,v3,v4,…,vm),其中m为所有线段的端点数量,若f(m)满足连续递增的条件,则遍历所有索引,并分别执行vm=vm–v(m-1)的运算。
作为优选,所述的步骤(6)按下述方法进行:对于所有几何对象,其几何数据经过步骤(3)、(4)和(5)的处理后,按照设定的顶点数量和UV数量,将其分成多个分块chunk,分为(geometryChunk1,geometryChunk2…geometryChunkN),将一个大数据转为多块小数据,以支持渐进加载和显示。
作为优选,所述的步骤(7)按下述方法进行:经过步骤(6)的处理后,将其分块(geometryChunk1,geometryChunk2…geometryChunkN)分别利用lzma压缩算法对其进行压缩并分别生成对应的bin文件。
作为优选,所述的步骤(8)按下述方法进行:对所有几何对象和材质对象的属性数据进行json化处理,生成后缀为js的主文件,记录几何对象和材质对象的引用关系以及其他自定义数据,几何对象的属性数据包括唯一标识符(uuid)、类型(type)和空间包围盒(box),材质对象的属性数据包括唯一标识符(uuid)、类型(type)、名称(name)、基础颜色值(color)、环境光(ambient)、镜面光(specular)、自发光(emissive)、自发光强度(emissiveIntensity)、环境反射强度(reflectivity)、折射系数(refractionRatio)、镜面光强度(shininess)、不透明度(opacity)、基础贴图(mapDiffuse)、凹凸贴图(mapBump)、凹凸系数(bumpScale)、线段宽度(linewidth)、粗糙系数(roughness)、金属光泽系数(metalness)、双面渲染(doubleSided);场景树结构中每个子对象的属性数据包括唯一标识符(uuid)、类型(type)、名称(name)、变换矩阵(matrix)、绑定的几何对象的ID(geometry)、绑定的材质对象的ID(material)、所有的子对象(children),动画树中每个动画的属性数据包括唯一标识符(uuid)、动画名称(name)、每秒的帧率(fps)、动画时长(duration)、动画对应的场景树结构(animationObject)、动画的关键帧数据(tracks)。
作为优选,所述的步骤(9)按下述方法进行:前端分别读取js主文件和bin文件,对bin文件进行解压后,按照步骤(3)、步骤(4)、步骤(5)中的方法,再对离散三角形和离散线段的数据进行还原处理,同时根据js主文件中的场景树结构和动画树结构分别建立场景和动画对象,之后利用webgl渲染场景和动画对象。
本发明使各格式三维模型能够转换为一种较小体积的中间文件,在web平台中能够快速加载,可基于webgl直接在浏览器中进行展示,缩减了模型大小,提高了模型在网页中的加载和显示速度,减少等待时间,提升用户体验。
具体实施方式
下面结合实例对本发明做进一步的详细描述,但是本发明的保护范围并不限于此。
一种基于webgl的三维模型轻量化展示技术,对于三维建模软件SolidWorks生成的模型来说,包括以下步骤:
(1)先通过相关SolidWorks document相关的api获取模型中所有几何对象节点,然后对重复节点去冗余,记录其相关属性数据,同时获取几何对象对应的材质信息,生成材质对象,根据模型树结构生成对应的场景树结构,若模型存在动画,则生成对应的动画树结构;
(2)对所有几何对象进行预处理,获取几何对象的离散三角形和离散线段数据,离散三角形包括顶点数据、UV数据、法向数据和索引数据,离散线段包括顶点数据和索引数据;具体为:根据设置的精细度(粗糙、中等、精细),通过相关SolidWorks tessellationapi控制离散精度,获取离散三角形和离散线段数据;其中离散三角形的数据定义为:顶点数据为每个顶点坐标由三个单精度浮点数表示,UV数据为每个顶点的UV由两个单精度浮点数表示,法向数据为每个顶点的法向量由三个单精度浮点数表示,索引数据为每个三角形的索引由4位的三个整数表示;其中离散线段的数据形式为:顶点数据为每个顶点坐标由三个单精度浮点数表示,索引数据为每个线段的索引由4位的两个整数表示;
(3)对离散三角形的索引数据进行排序并对其值进行缩小化处理,以提高压缩算法对索引数据的压缩率;先找出每个三角形的索引的最小值,以最小值重新定义三角形索引顺序,而后将所有三角形以第一个顶点和第二个顶点的索引大小进行从小到大的排序,最后利用错位相减法对所有三角形的索引进行缩小化处理;具体为:对于每个三角形的三个索引v1、v2和v3,在右手法则的约束下,找出其中的最小值,假定最小值为v2,则新的索引顺序为v2、v3、v1,将所有三角形按照第一个顶点和第二个顶点的索引大小进行从小到大的排序,假设排序后的离散三角形索引为f(n)=(v1,v2,v3,v4,v5,v6,…,vn),其中n为所有三角形的顶点数量,利用错位相减法进行缩小,对于第一个三角形(v1,v2,v3),执行v2=v2–v1和v3=v3–v1的运算,对于其他三角形,如(v4,v5,v6),先执行v6=v6–v4的运算,然后若v4等于v1,则执行v5=v5–v2的运算,若v4不等于v1,则执行v5=v5–v4的运算,最后执行v4=v4–v1的运算,其他三角形依次类推;
(4)对离散三角形的法向量按照象限区分后进行整数化处理,减少法向数据存储的字节数;具体为:关于离散三角形的法向,对于每个三角形的归一化的法向量(n1,n2,n3),在三维空间的八象限中计算出其值所在的对应象限并记录下象限编号gradNum,其中(0,1,2,3,4,5,6,7)分别代表一至八象限,若法向的精度设置为中等,则执行n1=abs(n1)*65535+0.5、n2=abs(n2)*65535+0.5和n3=abs(n3)*65535+0.5的运算,值取整后每个分量用2个字节表示;若法向的精度设置为粗糙,则执行n1=abs(n1)*255+0.5、n2=abs(n2)*255+0.5和n3=abs(n3)*255+0.5的运算,,值取整后每个分量用1个字节表示;然后再将n1、n2和n3分别整数化;经过上述处理后,一个包含3个浮点数,12个字节的法向数据用(gradNum,n1,n2,n3)表示,中等精度下压缩为7个字节,粗糙精度下压缩为4个字节;
(5)对于离散线段的索引,利用错位相减法进行缩小:假设其为f(m)=(v1,v2,v3,v4,…,vm),其中m为所有线段的端点数量,若f(m)满足连续递增的条件,则遍历所有索引,并分别执行vm=vm–v(m-1)的运算;
(6)对于所有几何对象,其几何数据经过步骤(3)、(4)和(5)的处理后,按照设定的顶点数量和UV数量,将其分成多个分块chunk,分为(geometryChunk1,geometryChunk2,…,geometryChunkN),将一个大数据转为多块小数据,以支持渐进加载和显示;
(7)将所有分块(geometryChunk1,geometryChunk2,…,geometryChunkN)分别利用lzma压缩算法对其进行压缩并分别生成对应的bin文件;
(8)对所有几何对象和材质对象的属性数据进行json化处理,同时场景树和动画树也分别json化,生成后缀为js的主文件:对所有几何对象和材质对象的属性数据进行json化处理,生成后缀为js的主文件,记录几何对象和材质对象的引用关系以及其他自定义数据,几何对象的属性数据包括唯一标识符(uuid)、类型(type)和空间包围盒(box),材质对象的属性数据包括唯一标识符(uuid)、类型(type)、名称(name)、基础颜色值(color)、环境光(ambient)、镜面光(specular)、自发光(emissive)、自发光强度(emissiveIntensity)、环境反射强度(reflectivity)、折射系数(refractionRatio)、镜面光强度(shininess)、不透明度(opacity)、基础贴图(mapDiffuse)、凹凸贴图(mapBump)、凹凸系数(bumpScale)、线段宽度(linewidth)、粗糙系数(roughness)、金属光泽系数(metalness)、双面渲染(doubleSided);场景树结构中每个子对象的属性数据包括唯一标识符(uuid)、类型(type)、名称(name)、变换矩阵(matrix)、绑定的几何对象的ID(geometry)、绑定的材质对象的ID(material)、所有的子对象(children),动画树中每个动画的属性数据包括唯一标识符(uuid)、动画名称(name)、每秒的帧率(fps)、动画时长(duration)、动画对应的场景树结构(animationObject)、动画的关键帧数据(tracks);
(9)前端分别读取js主文件和bin文件,对bin文件进行解压后,按照步骤(3)、步骤(4)、步骤(5)中的方法,再对离散三角形和离散线段的数据进行还原处理,同时根据js主文件中的场景树结构和动画树结构分别建立场景和动画对象,之后利用webgl渲染场景和动画对象,这样就完成了SolidWorks模型的轻量化展示。
本发明提供了将多格式三维模型转化为一种轻量化的中间格式数据方法,并可基于webgl直接在浏览器中进行展示,缩减了模型大小,提高了模型在网页中的加载和显示速度。

Claims (10)

1.一种基于webgl的三维模型轻量化展示方法,其特征在于包括下述步骤:
(1)对第三方格式的三维模型进行预处理,获取所有几何对象并去除重复的对象,再根据其材质信息生成对应的材质对象,根据模型树结构生成对应的场景树结构,若模型存在动画,则生成对应的动画树结构;
(2)对所有几何对象进行预处理,获取几何对象的离散三角形和离散线段数据,离散三角形包括顶点数据、UV数据、法向数据和索引数据,离散线段包括顶点数据和索引数据;
(3)对离散三角形的索引数据进行排序并对其值进行缩小化处理,以提高压缩算法对索引数据的压缩率;先找出每个三角形的索引的最小值,以最小值重新定义三角形索引顺序,而后将所有三角形以第一个顶点和第二个顶点的索引大小进行从小到大的排序,最后利用错位相减法对所有三角形的索引进行缩小化处理;
(4)对离散三角形的法向量按照象限区分后进行整数化处理,减少法向数据存储的字节数;
(5)对离散线段的索引数据进行缩小化处理;
(6)对所有几何对象进行分块处理;
(7)对所有的几何对象的分块分别进行lzma的压缩处理并生成后缀为bin的若干文件;
(8)对所有几何对象和材质对象的属性数据、场景树和动画树进行json化处理,生成后缀为js的主文件,记录几何对象、材质对象、场景树结构、动画树结构以及其他自定义数据;
(9)前端分别读取js主文件和bin文件,对bin文件进行解压后,再对离散三角形和离散线段的数据进行还原处理,根据场景树结构和动画树结构分别建立场景和动画对象,之后利用webgl渲染场景和动画对象。
2.根据权利要求1所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(1)按下述方法进行:先通过相关api获取模型中所有几何对象节点,然后对重复节点去冗余,记录其相关属性数据,同时获取几何对象对应的材质信息,生成材质对象,最后根据模型树结构生成对应的场景树结构。
3.根据权利要求2所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(2)按下述方法进行:根据设置的精细度,通过相关api控制离散精度,获取离散三角形和离散线段数据;其中,离散三角形的数据定义为:顶点数据为每个顶点坐标由三个单精度浮点数表示,UV数据为每个顶点的UV由两个单精度浮点数表示,法向数据为每个顶点的法向量由三个单精度浮点数表示,索引数据为每个三角形的索引由4位的三个整数表示;其中,离散线段的数据形式为:顶点数据为每个顶点坐标由三个单精度浮点数表示,索引数据为每个线段的索引由4位的两个整数表示。
4.根据权利要求3所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(3)按下述方法进行:对于每个三角形的三个索引v1、v2和v3,在右手法则的约束下,找出其中的最小值,假定最小值为v2,则新的索引顺序为v2、v3、v1,将所有三角形按照第一个顶点和第二个顶点的索引大小进行从小到大的排序,假设排序后的离散三角形索引为f(n) =(v1,v2,v3,v4,v5,v6,…,vn),其中n为所有三角形的顶点数量,利用错位相减法进行缩小,对于第一个三角形(v1,v2,v3),执行v2 = v2 – v1和v3 = v3 – v1的运算,对于其他三角形,如(v4,v5,v6),先执行v6 = v6 – v4的运算,然后若v4等于v1,则执行v5 = v5 –v2的运算,若v4不等于v1,则执行v5 = v5–v4的运算,最后执行v4 = v4 – v1的运算,其他三角形依次类推。
5.根据权利要求4所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(4)按下述方法进行:对于离散三角形的归一化法向量(n1,n2,n3),首先在三维空间的八象限中计算出其值所在的对应象限并记录下象限编号gradNum,象限编号用一个字节表示;若法向的精度设置为中等,则执行n1 = abs(n1) * 65535 + 0.5、n2 = abs(n2) * 65535 +0.5和n3 = abs(n3) * 65535 + 0.5的运算,值取整后每个分量用2个字节表示;若法向的精度设置为粗糙,则执行n1 = abs(n1) * 255+ 0.5、n2 = abs(n2) * 255 + 0.5和n3 =abs(n3) * 255 + 0.5的运算,值取整后每个分量用1个字节表示;经过上述处理后,一个包含3个浮点数,12个字节的法向数据用(gradNum, n1,n2,n3)表示,中等精度下压缩为7个字节,粗糙精度下压缩为4个字节。
6.根据权利要求5所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(5)按下述方法进行:对于离散线段的索引,假设其为f(m) = (v1,v2,v3,v4,…,vm),其中m为所有线段的端点数量,若f(m)满足连续递增的条件,则遍历所有索引,并分别执行vm =vm –v(m-1)的运算。
7.根据权利要求1所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(6)按下述方法进行:对于所有几何对象,其几何数据经过步骤(3)、(4)和(5)的处理后,按照设定的顶点数量和UV数量,将其分成多个分块chunk,分为(geometryChunk1,geometryChunk2,…,geometryChunkN),将一个大数据转为多块小数据,以支持渐进加载和显示。
8.根据权利要求7所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(7)按下述方法进行:经过步骤(6)的处理后,将其分块(geometryChunk1,geometryChunk2,…,geometryChunkN)分别利用lzma压缩算法对其进行压缩并分别生成对应的bin文件。
9.根据权利要求8所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(8)按下述方法进行:对所有几何对象和材质对象的属性数据进行json化处理,生成后缀为js的主文件,记录几何对象和材质对象的引用关系以及其他自定义数据,几何对象的属性数据包括唯一标识符、类型、空间包围盒,材质对象的属性数据包括唯一标识符、类型、名称、基础颜色值、环境光、镜面光、自发光、自发光强度、环境反射强度、折射系数、镜面光强度、不透明度、基础贴图、凹凸贴图、凹凸系数、线段宽度、粗糙系数、金属光泽系数、双面渲染;场景树结构中每个子对象的属性数据包括唯一标识符、类型、名称、变换矩阵、绑定的几何对象的ID、绑定的材质对象的ID、所有的子对象,动画树中每个动画的属性数据包括唯一标识符、动画名称、每秒的帧率、动画时长、动画对应的场景树结构、动画的关键帧数据。
10.根据权利要求9所述的基于webgl的三维模型轻量化展示方法,其特征在于步骤(9)按下述方法进行:前端分别读取js主文件和bin文件,对bin文件进行解压后,按照步骤(3)、步骤(4)、步骤(5)中的方法,再对离散三角形和离散线段的数据进行还原处理,同时根据js主文件中的场景树结构和动画树结构分别建立场景和动画对象,之后利用webgl渲染场景和动画对象。
CN201710083905.3A 2017-02-16 2017-02-16 基于webgl的三维模型轻量化展示技术 Active CN106909640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710083905.3A CN106909640B (zh) 2017-02-16 2017-02-16 基于webgl的三维模型轻量化展示技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710083905.3A CN106909640B (zh) 2017-02-16 2017-02-16 基于webgl的三维模型轻量化展示技术

Publications (2)

Publication Number Publication Date
CN106909640A CN106909640A (zh) 2017-06-30
CN106909640B true CN106909640B (zh) 2020-04-21

Family

ID=59208523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710083905.3A Active CN106909640B (zh) 2017-02-16 2017-02-16 基于webgl的三维模型轻量化展示技术

Country Status (1)

Country Link
CN (1) CN106909640B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273543B (zh) * 2017-07-06 2020-06-05 安徽省交通规划设计研究总院股份有限公司 一种dgn数据格式的转换方法
CN107818594A (zh) * 2017-09-06 2018-03-20 北京矩阵空间科技有限公司 三维模型文件格式系统及读取方法
CN108230439B (zh) * 2017-12-28 2021-09-03 苏州慧筑信息科技有限公司 一种用于web端三维模型轻量化方法、电子设备及存储介质
CN108304676B (zh) * 2018-03-01 2021-10-01 武汉新迪数字工程系统有限公司 装配体三维模型自动重建方法、终端设备及存储介质
CN108597028A (zh) * 2018-04-11 2018-09-28 北京邮电大学 一种连续加载Web AR对象的方法、装置及设备
CN108595858B (zh) * 2018-04-28 2022-03-18 成都希盟泰克科技发展有限公司 基于bim的轻量化深度处理工作方法
WO2020090028A1 (ja) * 2018-10-31 2020-05-07 東芝三菱電機産業システム株式会社 ハイブリッドレンダリングhmi端末装置
CN109377554B (zh) * 2018-10-31 2023-06-09 上海新迪数字技术有限公司 大型三维模型绘制方法、设备、系统及存储介质
CN109635450A (zh) * 2018-12-14 2019-04-16 苏州梦想人软件科技有限公司 三维模型检测方法及装置
CN109753334A (zh) * 2019-01-14 2019-05-14 长沙眸瑞网络科技有限公司 一种基于WebGL的三维模型显示方法
CN110069733B (zh) * 2019-04-22 2021-12-31 徐工集团工程机械有限公司 机械产品网络化发布数据处理方法和装置、存储介质
CN110503726A (zh) * 2019-07-22 2019-11-26 武汉理工大学 网页端三维模型标注信息显示浏览方法及系统
CN110990909B (zh) * 2019-11-29 2023-10-20 北京仿真中心 一种三维cad模型数据处理方法
CN111428165A (zh) * 2019-12-31 2020-07-17 深圳市工之易科技有限公司 三维模型的展示方法、装置及电子设备
CN111275802B (zh) * 2020-01-19 2023-04-21 杭州群核信息技术有限公司 一种基于vray的pbr材质渲染方法和系统
CN111475249B (zh) * 2020-04-24 2024-01-23 北京迷姆数字科技有限公司 一种基于web端四方连接技术的三维展示方法
CN111815770B (zh) * 2020-06-30 2024-05-03 郑州信大先进技术研究院 Web模型轻量化处理方法、装置及可读存储介质
CN112933599B (zh) * 2021-04-08 2022-07-26 腾讯科技(深圳)有限公司 三维模型渲染方法、装置、设备及存储介质
CN113255051B (zh) * 2021-07-07 2021-09-14 天津市天房科技发展股份有限公司 大体量bim模型轻量化的方法及装置
CN114895981A (zh) * 2022-05-10 2022-08-12 安徽云森物联网科技有限公司 一种提高前端页面加载3d模型速度的方法、系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063475A (zh) * 2010-12-22 2011-05-18 张丛喆 三维模型的网页用户终端呈现方式
CN103021023A (zh) * 2012-12-05 2013-04-03 上海创图网络科技发展有限公司 一种基于浏览器的三维场景构建方法
CN103281345A (zh) * 2013-02-16 2013-09-04 赞奇科技发展有限公司 基于云计算架构的三维数字模型实时渲染的实现方法及云服务系统
CN103793935A (zh) * 2012-11-02 2014-05-14 同济大学 一种基于BRLO-Tree混合树结构的城市立体动态场景生成方法
US8922576B2 (en) * 2011-11-11 2014-12-30 Google Inc. Side-by-side and synchronized displays for three-dimensional (3D) object data models

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063475A (zh) * 2010-12-22 2011-05-18 张丛喆 三维模型的网页用户终端呈现方式
US8922576B2 (en) * 2011-11-11 2014-12-30 Google Inc. Side-by-side and synchronized displays for three-dimensional (3D) object data models
CN103793935A (zh) * 2012-11-02 2014-05-14 同济大学 一种基于BRLO-Tree混合树结构的城市立体动态场景生成方法
CN103021023A (zh) * 2012-12-05 2013-04-03 上海创图网络科技发展有限公司 一种基于浏览器的三维场景构建方法
CN103281345A (zh) * 2013-02-16 2013-09-04 赞奇科技发展有限公司 基于云计算架构的三维数字模型实时渲染的实现方法及云服务系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于WebGL的三维WebGIS场景实现";朱丽萍等;《计算机工程与设计》;20141030;第3645-3650页 *

Also Published As

Publication number Publication date
CN106909640A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN106909640B (zh) 基于webgl的三维模型轻量化展示技术
US11922534B2 (en) Tile based computer graphics
US9852544B2 (en) Methods and systems for providing a preloader animation for image viewers
US8497859B1 (en) Display of information on or within a three-dimensional image
US8612040B2 (en) Automated derivative view rendering system
US8817021B1 (en) System for writing, interpreting, and translating three-dimensional (3D) scenes
KR101808027B1 (ko) 수치 데이터의 압축 및 압축해제
JP4564718B2 (ja) 3−dコンピュータ・グラフィックス・レンダリングシステム
US20140340398A1 (en) Encoding and Compressing Three-Dimensional (3D) Object Data Models
US8566736B1 (en) Visualization of value resolution for multidimensional parameterized data
US10210618B1 (en) Object image masking using depth cameras or three-dimensional (3D) models
GB2542236A (en) Preparing a polygon mesh for printing
CN110489692B (zh) 一种基于WebGL实例化技术构件级操作的实现方法及系统
US20070171222A1 (en) Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation
US20110046923A1 (en) Apparatus and method for low-complexity three-dimensional mesh compression
US8698799B2 (en) Method and apparatus for rendering graphics using soft occlusion
US20130257856A1 (en) Determining a View of an Object in a Three-Dimensional Image Viewer
EP3580726B1 (en) Buffer index format and compression
Sokolova et al. A modern approach to storing of 3d geometry of objects in machine engineering industry
Scholz et al. Real‐time isosurface extraction with view‐dependent level of detail and applications
Kim et al. Vertex–transformation streams
Baele et al. Real time l-system generated trees based on modern graphics hardware
JP2006235858A (ja) コンピュータグラフィックスにおける可変精度のデータ圧縮伸長方式および該方式を用いたゲーム機
JP3949013B2 (ja) 3次元形状処理装置、3次元形状処理方法、プログラムおよび記録媒体
KR20210077201A (ko) 3차원 캐릭터 애니메이션 제작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211201

Address after: Room 3008-1, No. 391, Wener Road, Xihu District, Hangzhou, Zhejiang 310000

Patentee after: NEW DIMENSION SYSTEMS Co.,Ltd.

Address before: 310012 Block C, 6th floor, building D, Paradise Software Park, No. 3, xidoumen Road, Xihu District, Hangzhou, Zhejiang

Patentee before: NEW DIMENSION SYSTEMS Co.,Ltd.

Patentee before: WUHAN XINDI DIGITAL ENGINEERING SYSTEM CO.,LTD.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 801, Building 2, No. 2570 Hechuan Road, Minhang District, Shanghai, 201101

Patentee after: Hangzhou New Dimension Systems Co.,Ltd.

Address before: Room 3008-1, No. 391, Wener Road, Xihu District, Hangzhou, Zhejiang 310000

Patentee before: NEW DIMENSION SYSTEMS Co.,Ltd.