CN104637089B - 三维模型数据处理方法和装置 - Google Patents

三维模型数据处理方法和装置 Download PDF

Info

Publication number
CN104637089B
CN104637089B CN201510083930.2A CN201510083930A CN104637089B CN 104637089 B CN104637089 B CN 104637089B CN 201510083930 A CN201510083930 A CN 201510083930A CN 104637089 B CN104637089 B CN 104637089B
Authority
CN
China
Prior art keywords
coordinates
vertex
texture
coordinate
dimensional model
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
CN201510083930.2A
Other languages
English (en)
Other versions
CN104637089A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510083930.2A priority Critical patent/CN104637089B/zh
Publication of CN104637089A publication Critical patent/CN104637089A/zh
Application granted granted Critical
Publication of CN104637089B publication Critical patent/CN104637089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

一种三维模型数据处理方法,所述方法包括:获取三维模型中的坐标数据,所述坐标数据包括顶点坐标和纹理坐标;对所述顶点坐标和所述纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;将所述压缩后的三维模型数据发送至终端进行渲染。采用本方法能够有效提高三维模型数据的压缩效率。此外还提供一种三维模型数据处理装置。

Description

三维模型数据处理方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种三维模型数据处理方法和装置。
背景技术
随着计算机技术的发展,三维地图已然成为互联网业务中的新亮点。当前三维地图主要有手工贴图和实景三维两种方式。其中,采用手工贴图方式制作手工三维模型的效率极低、成本高昂,并且视觉上不真实,但其优点在于三维模型的数据量相对较小。实景三维是指基于计算机视觉三度重叠原理,从一批大重叠度相片上自动生成带有真实纹理贴图的三维模型。这种方式能够以相对较低的成本,快速获取大范围的真实三维模型,但其不足则在于数据量相对较大,不利于互联网发布。对于同一地理区域,采用手工贴图三维模型和实景三维模型来比对,如图1-1所示,为手工贴图三维模型,图1-2为实景三维模型,可以明显看出,实景三维模型能够更真实、更清晰地反映该地理区域的样貌。此外,由于制作成本和效率的优势,实景三维可看作是三维地图的发展方向。
三维模型进行网络发布的传统方式是采用LoD(Level of Details,一种多层次细节的解决方案)技术,对三维模型进行化简、裁切,形成多个细节层次,然后使用压缩算法对三维模型数据进行压缩。由于实景三维模型中存在大量互相连接的三角形,而且随着三维模型精度的提高,三角形组成的网就越密,细节表达越丰富,相应的数据量也就越大。图2-1为在低精度下呈现的三角网,图2-2为在中精度下呈现的三角网,图2-3为在高精度下呈现的三角网。很明显,精度越高,三维模型的数据量就越大。利用传统的方式来处理这些庞大的实景三维模型数据,会导致实景三维模型的压缩时间过长和压缩效率较低。如何通过简单有效的方式来提高三维模型数据的压缩效率成为目前的一个技术难题。
发明内容
基于此,有必要针对上述技术问题,提供一种能有效提高三维模型数据的压缩效率的三维模型数据处理方法和装置。
一种三维模型数据处理方法,所述方法包括:
获取三维模型中的坐标数据,所述坐标数据包括顶点坐标和纹理坐标;
对所述顶点坐标和所述纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;
将所述压缩后的三维模型数据发送至终端进行渲染。
一种三维模型数据处理装置,所述装置包括:
数据获取模块,用于获取三维模型中的坐标数据,所述坐标数据包括顶点坐标和纹理坐标;
数据压缩模块,用于对所述顶点坐标和所述纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;
数据发送模块,用于将所述压缩后的三维模型数据发送至终端进行渲染。
上述三维模型数据处理方法和装置,获取三维模型中的坐标数据,坐标数据包括顶点坐标和纹理坐标;对顶点坐标和纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;将压缩后的三维模型数据发送至终端进行渲染。由于只需要对顶点坐标和纹理坐标的数据类型进行转换,可以将坐标数据由复杂数据类型转换为简单数据类型,减少了坐标数据的数据量,且有效避免了传统三维模型数据压缩方式中大量的复杂运算过程,因此能够有效提高压缩效率。
附图说明
图1-1为手工贴图三维模型图例;
图1-2为实景三维模型图例;
图2-1为低精度下的三角网图例;
图2-2为中精度下的三角网图例;
图2-3为高精度下的三角网图例;
图3为一个实施例中三维模型数据处理方法的应用环境图;
图4为一个实施例中三维模型数据处理方法的流程图;
图5为一个实施例中三维模型的拓扑示意图;
图6为一个实施例中纹理拓扑示意图;
图7为一个实施例中根据顶点索引调用顶点坐标和一一对应的纹理坐标的示意图;
图8为传统三维模型中根据顶点索引调用顶点坐标与根据纹理索引调用纹理坐标的示意图;
图9为一个实施例中三维模型数据处理装置的结构示意图;
图10为一个实施例中数据压缩模块的结构示意图;
图11为又一个实施例中三维模型数据处理装置的结构示意图;
图12为一个实施例中坐标处理模块的结构示意图;
图13为再一个实施例中三维模型数据处理装置的结构示意图;
图14为另一个实施例中三维模型数据处理装置的结构示意图;
图15为还一个实施例中三维模型数据处理装置的结构示意图;
图16为一个实施例中服务器的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的三维模型数据处理方法可应用于如图3所示的应用环境中。参考图3所示,终端302与服务器304通过网络306进行通信。终端302包括但不限于个人计算机、智能手机、平板电脑、个人数字助理等。网络306包括但不限于互联网、3G(3rd-Generation)/4G(the 4th Generation mobile communication technology)等移动网络。服务器304上存储有预先制作好的三维模型,如三维地图等。服务器304提取三维模型中的坐标数据,包括顶点坐标和纹理坐标。顶点坐标和纹理坐标可以采用32位浮点型来表示。将顶点坐标和纹理坐标的数据类型进行转换,将转换后的顶点坐标和转换后的纹理坐标采用16位整型进行存储,由此对三维模型数据进行压缩。由于只需通过对顶点坐标和纹理坐标的数据类型进行转换,可以将坐标数据由复杂数据类型转换为简单数据类型,减少了坐标数据的数据量,且有效避免了传统三维模型数据压缩方式中大量的复杂运算过程,因此能够有效提高压缩效率。服务器304将压缩后的三维模型数据通过网络306发送到终端302后,在终端302上可以渲染出相应的三维图像。
在一个实施例中,如图4所示,提供了一种三维模型数据处理方法,该方法以应用于服务器进行举例说明,具体包括:
步骤402,获取三维模型中的坐标数据,坐标数据包括顶点坐标和纹理坐标。
三维模型由一组三维空间的多边形面片组成,每组面片包括多个相互连接的多边形。多边形是指三条或三条以上的线段首尾顺次连接所组成的封闭图形。优选的,三维模型中多边形为三角形。三维模型呈现的可以是真实的物体,也可以是虚构的物体,包括但不限于三维地图、三维设备、三维人物和三维游戏等。
顶点是指多面体中三个或更多的面的连接处,在三维模型中,每个多边形的顶点就是该三维模型的顶点,顶点坐标为三维坐标,比如可用(x,y,z)来表示。纹理是二维空间的图片,实际上是一个二维数组,它的元素是一些颜色值。单个的颜色值被称为纹理元素或纹理像素。每一个纹理像素在纹理中都有一个唯一的地址,也就是纹理坐标,纹理坐标是二维坐标,可以用(u,v)来表示。在三维模型中存在一定数量的顶点坐标被共用的情况,即一个顶点坐标可对应多个纹理坐标。一般是在三维模型的拐点处,多个纹理坐标共用一个顶点坐标。因此在一个三维模型中,纹理坐标的数量要多于顶点坐标的数量。
步骤404,对顶点坐标和纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据。
本实施例中,分别将顶点坐标和纹理坐标与相应的转换系数相乘,以实现数据类型的转换。其中顶点坐标对应的转换系数为第一转换系数,纹理坐标对应的转换系数为第二转换系数。进一步的,第一转换系数根据顶点坐标转换后的数据类型所对应的有效值范围和顶点坐标的坐标值范围来确定。第二转换系数根据纹理坐标转换后的数据类型的有效值的范围来确定。将进行了数据类型转换后的顶点坐标和纹理坐标进行存储,得到压缩后的三维模型数据。
步骤406,将压缩后的三维模型数据发送至终端进行渲染。
在一个实施例中,可在接收到终端发送的三维图像展示请求后,向终端下发压缩后的三维模型数据。终端对接收到的三维模型数据进行解析,并将解析后的三维模型数据从缓冲区中传入到显存中进行渲染,得到相应的三维图像。
本实施例中,获取三维模型中的坐标数据,坐标数据包括顶点坐标和纹理坐标;对顶点坐标和纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;将压缩后的三维模型数据发送至终端进行渲染。由于只需要对顶点坐标和纹理坐标的数据类型进行转换,可以将坐标数据由复杂数据类型转换为简单数据类型,减少了坐标数据的数据量,且有效避免了传统三维模型数据压缩方式中大量的复杂运算过程,因此能够有效提高压缩效率。
在一个实施例中,对顶点坐标和纹理的数据类型坐标分别进行转换,得到压缩后的三维模型数据的步骤包括:分别计算顶点坐标对应的转换系数和纹理坐标对应的转换系数;根据顶点坐标对应的转换系数对顶点坐标的数据类型进行转换;根据纹理坐标对应的转换系数对纹理坐标的数据类型进行转换;将进行了数据类型转换后的顶点坐标和进行了数据类型转换后的纹理坐标进行存储,得到压缩后的三维模型数据。
本实施例中,顶点坐标对应的转换系数(即第一转换系数)根据顶点坐标转换后的数据类型所对应的有效值范围和顶点坐标的坐标值范围来确定。具体的,在转换后的数据类型所对应的有效值范围内选取预设范围的值作为计算顶点坐标转换系数的常量。优选的,选取顶点坐标转换后的数据类型的有效值范围的最大值作为第一转换系数的常量。顶点坐标的坐标值范围可以是顶点坐标在预设范围内的坐标最大值与坐标最小值之间的差值,优选的,将所有顶点坐标中的顶点坐标最大值和顶点坐标最小值分别作为预设范围内的坐标最大值与坐标最小值,所有顶点坐标中的顶点坐标最大值和顶点坐标最小值可以通过对顶点坐标对应的第一数组进行遍历的方式来获得。顶点坐标对应的转换系数可根据常量与预设范围内的坐标最大值与坐标最小值之间的差值的比值来计算,即第一转换系数=常量/(预设范围内的坐标最大值-预设范围内的坐标最小值)。
例如,转换前的顶点坐标采用32位浮点型(即float类型)来表示,转换后的顶点坐标以16位整型(即short类型)进行存储,16位整型的有效值范围为(-32768~32767),从该有效值内选取预设范围的值作为计算第一转换系数的常量。优选的,可以将65535作为常量。将全部顶点坐标中的顶点坐标最大值和顶点坐标最小值分别作为预设范围内的坐标最大值和坐标最小值,即第一转换系数=65535/(顶点坐标最大值-顶点坐标最小值)。
纹理坐标对应的转换系数(即第二转换系数)根据纹理坐标转换后的数据类型的有效值的范围来确定。具体的,在转换后的数据类型所对应的有效值范围内选取预设范围的值作为第二转换系数。优选的,选取顶点坐标转换后的数据类型的有效值范围的最大值作为第二转换系数。
例如,转换前的纹理坐标采用32位浮点型(即float类型)来表示,转换后的顶点坐标以16位整型(即short类型)进行存储,16位整型的有效值范围为(-32768~32767),从该有效值内选取预设范围内的值作为第二转换系数。优选的,将65535作为第二转换系数。
本实施例中,将确定后的第一转换系数和第二转换系数标记在文件头中。文件头是指三维模型数据中承担顶点坐标和纹理坐标数据类型转换任务的数据。进行数据类型转换后的顶点坐标与纹理坐标的数据类型可以相同,例如,顶点坐标和纹理坐标在进行数据类型转换前均为32位浮点型,进行数据类型转换后均为16位整型。进行数据类型转换前的每个顶点坐标为12比特,进行数据类型转换后的每个顶点坐标为6比特,进行数据类型转换前的每个纹理坐标为8比特,进行数据类型转换后的每个纹理坐标为4比特。由此可将三维模型数据压缩至原来的一半,使得三维模型数据得到极大压缩。
在一个实施例中,对顶点坐标和纹理坐标分别进行转换,得到压缩后的三维模型数据的步骤之前,还包括:增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应。
本实施例中,在三维模型中存在多个纹理坐标共用顶点坐标的情形,也就是一个顶点坐标对应多个纹理坐标的情形。例如三维空间中有3个三角形相互连接共用一个顶点,在将这3个三维空间中的三角形投影到二维空间后,会形成3个独立的三角形。三维空间中的顶点对应顶点坐标,二维空间中的三角形的顶点对应纹理坐标。这个顶点坐标相当于对应了3个纹理坐标,由此导致多个纹理坐标共用一个顶点坐标的情形。
对被多个纹理坐标所共用的顶点坐标进行复制添加,使得增加后的顶点坐标的数量与纹理坐标的数量相同,将三维模型中的顶点坐标与纹理坐标一一对应。例如,5个纹理坐标共用一个顶点坐标,可将该顶点坐标分别复制添加4次。本实施例中,增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标具有一一对应的关系,根据顶点坐标可以直接得到唯一对应的纹理坐标,使得后续在终端渲染过程中可以有效提高终端渲染效率,也使得在三维模型数据的查找过程中能够提高查找效率。
在一个实施例中,增加顶点坐标的数量的步骤包括:将三维模型的拓扑打散并重组为多个二维拓扑;在二维拓扑中根据纹理坐标的数量增加对应的被共用的顶点坐标,直至二维拓扑中顶点坐标增加后的数量与二维拓扑中的纹理坐标的数量相同。
本实施例中,在将三维模型的多边形面片投影到二维空间的过程中,为了减少变形,需要将三维模型的拓扑打散重组成多个二维拓扑系列。三维模型的拓扑用来描述三维模型的多边形面片中的多边形的顶点与多边形的边、多边形的边与边、多边形的边与多边形面片、多边形面片与多边形面片之间的连接关系。如图5所示,为三维模型的拓扑示意图。二维拓扑也就是纹理拓扑,用来描述二维空间中的多边形的顶点与多边形的边、多边形的边与边之间的连接关系。如图6所示,为纹理拓扑的示意图。
可根据LSCM(least squares conformal maps,最小二乘共形映射)算法或者ABF++(Angle-based flattening,保角映射)算法,利用打散要素的预设比重将三维模型的拓扑进行打散。打散要素包括角度、面积比例和距离比例等,其中,角度是指三维空间中的多边形与二维空间水平面的夹角。面积比例是指三维空间中的多边形的面积与投影至二维空间中的投影面积的比例。距离比例是指三维空间中的多边形的边长与投影至二维空间中的投影多边形的边长的比例。
进一步的,每个打散要素具有对应的预设比重,优选的,预设比重可以为角度:面积比例:距离比例=5:3:2。在根据角度打散的过程中,对于在三维空间中相互连接的多边形打散后仍然保持相互连接的关系,有利于减少三维空间中的多边形投影至二维模型后产生的变形。
进一步的,每个打散要素都具有对应的预设阈值。利用打散要素可以将三维模型的拓扑打散后重组的二维拓扑分为多个系列。利用每个打散要素的阈值又可以对多个二维拓扑的系列进行细分。例如,重组的二维拓扑系列包括角度系列、面积比例系列和距离比例系列等。例如,角度这一打散要素的预设阈值可设置为15°,如果角度小于或等于15°,则将三维模型的拓扑打散后重组为一个系列的二维拓扑,如果角度大于15°,则将三维模型的拓扑打散后重组为另一个系列的二维拓扑。
在重组的二维拓扑中根据纹理坐标的数量分别增加对应的被共用的顶点坐标。具体的,首先计算出二维拓扑中被共用的顶点坐标的数量,然后确定每个被共用的顶点坐标所对应的纹理坐标,根据纹理坐标的数量对被每个共用的顶点坐标逐一进行复制添加。采用这种方式使得每个二维拓扑中的顶点坐标的数量和纹理坐标的数量一致。
本实施例中,将三维模型投影到二维空间中,顶点坐标与纹理坐标之间具有对应关系,由于投影到二维空间的多边形之间不能彼此覆盖,因此在重组的二维拓扑中根据纹理坐标的数量分别增加对应的被共用的顶点坐标,能够使得顶点坐标与纹理坐标一一对应。进一步的,可在顶点坐标与纹理坐标一一对应之后,再对所有的顶点坐标与纹理坐标的数据类型分别进行转换。
在一个实施例中,在增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应的步骤之后,还包括:分别将进行了数据类型转换后的顶点坐标和纹理坐标以数组形式存储;三维模型中的多边形使用顶点坐标在相应数组中的存储位置或纹理坐标在相应数组中的存储位置来描述。
本实施例中,传统的三维模型中的多边形采用顶点坐标与纹理坐标结合的方式来描述。多边形的顶点分别与顶点坐标的存储位置以及对应的纹理坐标的存储位置相对应。顶点坐标的存储位置即顶点坐标在相应数组中的存储位置,纹理坐标的存储位置即纹理坐标在相应数组中的存储位置。由于三维模型中的顶点坐标与纹理坐标一一对应,三维模型中的多边形只需要顶点坐标或者纹理坐标即可进行描述。也就是,三维模型中的多边形的顶点只需要对应顶点坐标的存储位置或者纹理坐标的存储位置即可。由此减少了三维模型中多边形的存储数据,从而进一步减少了三维模型数据的数据量。
以三维模型中的多边形为三角形为例进行说明:其中,顶点坐标v(x,y,z)记录为表一,纹理坐标vt(u,v)记录为表二,三角形f(a,b,c)(a、b、c分别表示三角形的三个顶点)记录为表三。
表一
顶点坐标(v) x y z
v<sub>377</sub> 3925.068604 -780.645020 13.842497
v<sub>479</sub> 3940.914307 -792.857788 5.889281
v<sub>480</sub> 3951.037842 -788.777954 12.625427
其中,v377表示在顶点坐标相应数组中排列顺序的序号为377的顶点坐标,顶点坐标在相应的数组中的排列顺序的序号即为顶点坐标在相应数组中的存储位置。以表一的形式记录顶点坐标对应的数组,顶点坐标对应的数组中第377个元素v377,也就是表一中的第377行,对应的坐标值为(3925.068604,-780.645020,13.842497)。
表二:
纹理坐标(vt) u v
vt<sub>1110</sub> 0.61105174 0.69410503
vt<sub>1111</sub> 0.15533113 0.95732313
vt<sub>1112</sub> 0.14872913 0.9474901
其中,vt1110表示纹理坐标相应的数组中的序号为1110的纹理坐标,纹理坐标在相应的数组中的序号即为纹理坐标在相应数组中的存储位置。以表二的形式记录纹理坐标对应的数组,纹理坐标对应的数组中第1110个元素vt1110,也就是表二中的第1110行,对应的坐标值为(0.61105174,0.69410503)。
表三:
三角形(f) a b c
f<sub>141</sub> 480/1110 479/1111 377/1112
f<sub>142</sub> 328/1113 495/1114 329/1115
f<sub>143</sub> 163/1116 142/1117 141/1118
其中,f141表示三维模型中第141个三角形。f141对应的三个顶点分别可以用顶点坐标的存储位置与纹理坐标的存储位置来描述,即f141描述为(480/1110,479/1111,377/1112)。其中480、479和377对应顶点坐标在相应数组中的存储位置,即分别对应第480行顶点坐标v480、第479行顶点坐标v479和第377行顶点坐标v377。1110、1111和1112对应于纹理坐标在相应数组中的存储位置,即分别对应第1110行纹理坐标vt1110、第1111行纹理坐标vt1111和第1112行纹理坐标vt1112。由于增加顶点坐标的数量后,使得三维模型中的顶点坐标与纹理坐标一一对应。因此,三角形可以只通过纹理坐标来表达,也就是可以将f141描述为(1110,1111,1112)或者f141描述为(480,479,377)。由此减少了三维模型中多边形的存储数据,从而进一步减少了三维模型数据的数据量。
在一个实施例中,坐标数据还包括顶点索引,顶点索引中记录了顶点坐标的存储位置和一一对应的纹理坐标的存储位置;该方法还包括:根据顶点索引获取顶点坐标的存储位置,根据顶点坐标的存储位置调用顶点坐标;根据顶点索引获取一一对应的纹理坐标的存储位置,根据纹理坐标的存储位置调用纹理坐标。
本实施例中,三维模型的坐标数据中还包括了顶点索引,顶点索引中记录了顶点坐标的存储位置和一一对应的纹理坐标的存储位置。在渲染三维图像时,根据顶点索引调用顶点坐标和一一对应的纹理坐标,如图7所示:顶点索引中的v0对应顶点坐标(x0,y0,z0)在相应数组中的存储位置,根据顶点索引中的v0,即可调用对应的顶点坐标(x0,y0,z0)。顶点索引中的v0还对应纹理坐标(u0,v0)在相应数组中的存储位置,根据顶点索引中的v0,即可调用与顶点坐标(x0,y0,z0)一一对应的纹理坐标(u0,v0)。而传统的三维模型中需要根据顶点索引调用顶点坐标,根据纹理索引调用纹理坐标。如图8所示,根据顶点索引中的v0,调用对应的顶点坐标(x0,y0,z0),根据纹理坐标索引t0,调用对应的纹理坐标(u0,v0)。由此可见,根据顶点索引调用顶点坐标与一一对应的纹理坐标,克服了传统三维模型中索引数据存在一定冗余的问题,有效减少了三维模型数据的数据量。
在另一个实施例中,坐标数据还包括纹理索引,纹理索引中记录了纹理坐标的存储位置和一一对应的顶点坐标的存储位置;该方法还包括:根据纹理索引获取纹理坐标的存储位置,根据纹理坐标的存储位置调用纹理坐标;根据纹理索引获取一一对应的顶点坐标的存储位置,根据顶点坐标的存储位置调用顶点坐标。
本实施例中,三维模型的坐标数据中还包括了纹理索引,纹理索引中记录了纹理坐标的存储位置和一一对应的顶点坐标的存储位置。在渲染三维图像时,根据纹理索引调用纹理坐标和一一对应的顶点坐标。而传统的三维模型中是根据顶点索引调用顶点坐标,根据纹理索引调用纹理坐标。因此,根据纹理索引调用纹理坐标与一一对应的顶点坐标,克服了传统三维模型中索引数据存在一定冗余的问题,有效减少了三维模型数据的数据量。
在一个实施例中,如图9所示,提供了一种三维模型数据处理装置,该系统包括:数据获取模块902、数据压缩模块904、和数据发送模块906,其中:
数据获取模块902,用于获取三维模型中的坐标数据,坐标数据包括顶点坐标和纹理坐标。
数据压缩模块904,用于对顶点坐标和纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;
数据发送模块906,用于将压缩后的三维模型数据发送至终端进行渲染。
在一个实施例中,如图10所示,数据压缩模块904包括:转换系数计算模块904a、第一转换模块904b、第二转换模块904c和坐标存储模块904d,其中:
转换系数计算模块904a,用于分别计算所述顶点坐标对应的转换系数和所述纹理坐标对应的转换系数;
第一转换模块904b,用于根据所述顶点坐标对应的转换系数对所述顶点坐标的数据类型进行转换;
第二转换模块904c,用于根据所述纹理坐标对应的转换系数对所述纹理坐标的数据类型进行转换;
坐标存储模块904d,用于将进行了数据类型转换后的顶点坐标和进行了数据类型转换后的纹理坐标进行存储,得到压缩后的三维模型数据。
在一个实施例中,如图11所示,该装置还包括:坐标处理模块908,用于增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应。
在一个实施例中,如图12所示,坐标处理模块908包括:打散重组模块908a和坐标增加模块908b,其中:
打散重组模块908a,用于将三维模型的拓扑打散并重组为多个二维拓扑。
坐标增加模块908b,用于在二维拓扑中根据纹理坐标的数量增加对应的被共用的顶点坐标,直至二维拓扑中顶点坐标增加后的数量与所述二维拓扑中的纹理坐标的数量相同。
在一个实施例中,坐标存储模块904d还用于分别将进行了数据类型转换后的顶点坐标和纹理坐标以数组形式存储。如图13所示,该装置还包括:多边形描述模块910,用于三维模型中的多边形使用顶点坐标在相应数组中的存储位置或纹理坐标在相应数组中的存储位置来描述。
在一个实施例中,坐标数据还包括顶点索引,顶点索引中记录了顶点坐标的存储位置和一一对应的纹理坐标的存储位置;如图14所示,该装置还包括:第一调用模块912,用于根据顶点索引获取顶点坐标的存储位置,根据顶点坐标的存储位置调用顶点坐标;第一调用模块912还用于根据顶点索引获取一一对应的纹理坐标的存储位置,根据纹理坐标的存储位置调用纹理坐标。
在一个实施例中,坐标数据还包括纹理索引,纹理索引中记录了纹理坐标的存储位置和一一对应的顶点坐标的存储位置;如图15所示,该装置还包括:第二调用模块914,用于根据纹理索引获取纹理坐标的存储位置,根据纹理坐标的存储位置调用纹理坐标;第二调用模块914还用于根据纹理索引获取一一对应的顶点坐标的存储位置,根据顶点坐标的存储位置调用顶点坐标。
如图16所示,为一个实施例中,服务器的内部结构,该服务器包括通过系统总线连接的处理器、存储介质、内存和网络接口。其中,该服务器的存储介质存储有操作系统、数据库和三维模型数据处理装置,该三维模型数据处理装置用于实现适用于服务器的一种三维模型数据处理方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存为存储介质中的三维模型数据处理装置的运行提供环境。该服务器的网络接口用于据以与外部的终端通过网络连接通信,比如接收终端发送的三维模型展示请求以及向终端返回压缩后的三维模型数据等。服务器可以用独立的服务器或者是多个服务器来实现,比如服务器可以包括三维模型数据处理服务器和存储服务器等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种三维模型数据处理方法,所述方法包括:
获取三维模型中的坐标数据,所述坐标数据包括顶点坐标和纹理坐标;
增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应;包括:利用打散要素的预设比重将所述三维模型的拓扑打散并重组为多个二维拓扑;所述打散要素包括角度、面积比例和距离比例;在根据角度打散的过程中,对于在三维空间中相互连接的多边形在打散后仍然保持相互连接的关系;在所述二维拓扑中根据纹理坐标的数量增加对应的被共用的顶点坐标,直至所述二维拓扑中顶点坐标增加后的数量与所述二维拓扑中的纹理坐标的数量相同;
对所述顶点坐标和所述纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;包括:分别计算所述顶点坐标对应的转换系数和所述纹理坐标对应的转换系数;所述顶点坐标对应的转换系数根据常量与预设范围内的坐标最大值与坐标最小值之间的差值的比值来计算,所述常量为顶点坐标转换后的数据类型的有效值范围的最大值;所述纹理坐标对应的转换系数为纹理坐标转换后的数据类型的有效值范围的最大值;根据所述顶点坐标对应的转换系数对所述顶点坐标的数据类型进行转换;根据所述纹理坐标对应的转换系数对所述纹理坐标的数据类型进行转换;将进行了数据类型转换后的顶点坐标和进行了数据类型转换后的纹理坐标以数组形式进行存储,得到压缩后的三维模型数据;所述三维模型中的多边形使用顶点坐标在相应数组中的存储位置或纹理坐标在相应数组中的存储位置来描述,所述压缩后的三维模型数据包括顶点索引,顶点索引中记录了顶点坐标的存储位置和一一对应的纹理坐标的存储位置,所述多边形的顶点对应所述顶点坐标的存储位置或者纹理坐标的存储位置;
将所述压缩后的三维模型数据发送至终端进行渲染,包括:在渲染三维图形时,根据所述顶点索引获取顶点坐标的存储位置,根据所述顶点坐标的存储位置调用顶点坐标;根据所述顶点索引获取一一对应的纹理坐标的存储位置,根据所述纹理坐标的存储位置调用纹理坐标,将所述顶点坐标与所述纹理坐标发送至终端,以使得所述终端对接收到的所述顶点坐标与所述纹理坐标进行解析,并将解析后的顶点坐标与纹理坐标从缓冲区中传入到显存中进行渲染,得到相应的三维图像。
2.根据权利要求1所述的方法,其特征在于,在增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应的步骤之后,还包括:
分别将进行了数据类型转换后的顶点坐标和纹理坐标以数组形式存储;
所述三维模型中的多边形使用所述顶点坐标在相应数组中的存储位置或所述纹理坐标在相应数组中的存储位置来描述。
3.根据权利要求1所述的方法,其特征在于,所述坐标数据还包括纹理索引,所述纹理索引中记录了纹理坐标的存储位置和一一对应的顶点坐标的存储位置;所述方法还包括:
根据所述纹理索引获取纹理坐标的存储位置,根据所述纹理坐标的存储位置调用纹理坐标;
根据所述纹理索引获取一一对应的顶点坐标的存储位置,根据所述顶点坐标的存储位置调用顶点坐标。
4.一种三维模型数据处理装置,其特征在于,所述装置包括:
数据获取模块,用于获取三维模型中的坐标数据,所述坐标数据包括顶点坐标和纹理坐标;
坐标处理模块,用于增加顶点坐标的数量,使得三维模型中的顶点坐标与纹理坐标一一对应;所述坐标处理模块包括:打散重组模块,用于利用打散要素的预设比重将所述三维模型的拓扑打散并重组为多个二维拓扑;所述打散要素包括角度、面积比例和距离比例;在根据角度打散的过程中,对于在三维空间中相互连接的多边形在打散后仍然保持相互连接的关系;坐标增加模块,用于在所述二维拓扑中根据纹理坐标的数量增加对应的被共用的顶点坐标,直至所述二维拓扑中顶点坐标增加后的数量与所述二维拓扑中的纹理坐标的数量相同;
数据压缩模块,用于对所述顶点坐标和所述纹理坐标的数据类型分别进行转换,得到压缩后的三维模型数据;所述数据压缩模块包括:转换系数计算模块,用于分别计算所述顶点坐标对应的转换系数和所述纹理坐标对应的转换系数;所述顶点坐标对应的转换系数根据常量与预设范围内的坐标最大值与坐标最小值之间的差值的比值来计算,所述常量为顶点坐标转换后的数据类型的有效值范围的最大值;所述纹理坐标对应的转换系数为纹理坐标转换后的数据类型的有效值范围的最大值;第一转换模块,用于根据所述顶点坐标对应的转换系数对所述顶点坐标的数据类型进行转换;第二转换模块,用于根据所述纹理坐标对应的转换系数对所述纹理坐标的数据类型进行转换;坐标存储模块,用于将进行了数据类型转换后的顶点坐标和进行了数据类型转换后的纹理坐标以数组形式进行存储,得到压缩后的三维模型数据;所述三维模型中的多边形使用顶点坐标在相应数组中的存储位置或纹理坐标在相应数组中的存储位置来描述,所述压缩后的三维模型数据包括顶点索引,所述顶点索引中记录了顶点坐标的存储位置和一一对应的纹理坐标的存储位置,所述多边形的顶点对应所述顶点坐标的存储位置或者纹理坐标的存储位置;
第一调用模块,用于在渲染三维图形时,根据所述顶点索引获取顶点坐标的存储位置,根据顶点坐标的存储位置调用顶点坐标;所述第一调用模块还用于根据所述顶点索引获取一一对应的纹理坐标的存储位置,根据所述纹理坐标的存储位置调用纹理坐标;
数据发送模块,用于将所述压缩后的三维模型数据发送至终端进行渲染;包括将调用的顶点坐标与纹理坐标发送至终端,以使得所述终端对接收到的所述顶点坐标与所述纹理坐标进行解析,并将解析后的顶点坐标与纹理坐标从缓冲区中传入到显存中进行渲染,得到相应的三维图像。
5.根据权利要求4所述的装置,其特征在于,所述坐标存储模块还用于分别将进行了数据类型转换后的顶点坐标和纹理坐标以数组形式存储;
所述装置还包括:
多边形描述模块,用于所述三维模型中的多边形使用所述顶点坐标在相应数组中的存储位置或所述纹理坐标在相应数组中的存储位置来描述。
6.根据权利要求4所述的装置,其特征在于,所述坐标数据还包括纹理索引,所述纹理索引中记录了纹理坐标的存储位置和一一对应的顶点坐标的存储位置;所述装置还包括:
第二调用模块,用于根据所述纹理索引获取纹理坐标的存储位置,根据所述纹理坐标的存储位置调用纹理坐标;
所述第二调用模块还用于根据所述纹理索引获取一一对应的顶点坐标的存储位置,根据所述顶点坐标的存储位置调用顶点坐标。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。
CN201510083930.2A 2015-02-15 2015-02-15 三维模型数据处理方法和装置 Active CN104637089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510083930.2A CN104637089B (zh) 2015-02-15 2015-02-15 三维模型数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510083930.2A CN104637089B (zh) 2015-02-15 2015-02-15 三维模型数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN104637089A CN104637089A (zh) 2015-05-20
CN104637089B true CN104637089B (zh) 2020-08-04

Family

ID=53215794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510083930.2A Active CN104637089B (zh) 2015-02-15 2015-02-15 三维模型数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN104637089B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106340062B (zh) * 2015-07-09 2019-05-17 长沙维纳斯克信息技术有限公司 一种三维纹理模型文件的生成方法和装置
CN106600679B (zh) * 2015-10-20 2019-11-08 星际空间(天津)科技发展有限公司 一种三维模型数据简化的方法
CN106345118B (zh) * 2016-08-24 2019-07-30 网易(杭州)网络有限公司 一种渲染方法及装置
CN108733045B (zh) * 2017-09-29 2022-01-04 北京猎户星空科技有限公司 机器人及其避障方法以及计算机可读存储介质
CN107967716B (zh) * 2017-11-01 2021-08-06 深圳依偎控股有限公司 一种基于立体图片的缩略图显示控制方法及系统
CN107958484B (zh) * 2017-12-06 2021-03-30 北京像素软件科技股份有限公司 纹理坐标计算方法及装置
CN108055351B (zh) * 2017-12-29 2021-04-16 深圳市毕美科技有限公司 三维文件的处理方法及装置
CN109410314A (zh) * 2018-04-28 2019-03-01 武汉思普崚技术有限公司 基于三维空间的拓扑结构动态渲染的方法及装置
CN108665538A (zh) * 2018-05-18 2018-10-16 天津流形科技有限责任公司 一种三维模型拟合方法、装置、计算机设备及介质
CN108921778B (zh) * 2018-07-06 2022-12-30 成都品果科技有限公司 一种星球效果图生成方法
CN109215103A (zh) * 2018-08-30 2019-01-15 西安恒歌数码科技有限责任公司 一种基于osg的大批量文字渲染方法
CN111324678B (zh) * 2018-12-14 2024-05-17 北京京东尚科信息技术有限公司 数据处理方法、装置和计算机可读存储介质
CN110096540B (zh) * 2019-04-16 2022-02-18 湖北地信科技集团股份有限公司 测绘数据转换方法、设备、存储介质及装置
CN110176079B (zh) * 2019-05-26 2023-03-24 中北大学 一种基于准共形映射的三维模型变形算法
CN112598770B (zh) * 2020-12-22 2023-08-08 福建天晴数码有限公司 一种基于模型三维坐标空间的实时贴花渲染方法及其系统
CN113689536A (zh) * 2021-08-25 2021-11-23 杭州群核信息技术有限公司 纹理铺贴方法、装置和存储介质
CN114529706B (zh) * 2022-04-22 2022-07-08 三一筑工科技股份有限公司 三维模型中目标对象的拆分方法、装置、设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266063B1 (en) * 1997-10-20 2001-07-24 Baron Services, Inc. Real-time three-dimensional weather display method and weathercast system
CN101795138B (zh) * 2010-01-19 2013-01-16 北京四方继保自动化股份有限公司 电力系统广域测量系统高密度时间序列数据的压缩处理方法
CN103472484B (zh) * 2013-09-18 2016-08-17 西南石油大学 基于rs三维敏感地震属性分析的水平井轨迹优化方法
CN103500463B (zh) * 2013-10-17 2016-04-27 北京大学 一种gpu上多层形状特征融合的可视化方法

Also Published As

Publication number Publication date
CN104637089A (zh) 2015-05-20

Similar Documents

Publication Publication Date Title
CN104637089B (zh) 三维模型数据处理方法和装置
Cignoni et al. BDAM—Batched Dynamic Adaptive Meshes for high performance terrain visualization
CN111008422B (zh) 一种建筑物实景地图制作方法及系统
WO2022021309A1 (zh) 建立模型的方法、装置、电子设备及计算机可读存储介质
US9245383B2 (en) Accelerated three-dimensional intersection testing using compressed volumes
US20150187130A1 (en) Automatic Generation of 2.5D Extruded Polygons from Full 3D Models
CN113628331B (zh) 一种虚幻引擎中摄影测量模型的数据组织和调度方法
US9224233B2 (en) Blending 3D model textures by image projection
CN101809625A (zh) 用于在连续加性分辨率层中选择性地检索并显示地理空间纹理数据的地理空间数据系统及相关方法
CN113256782B (zh) 三维模型的生成方法、装置、存储介质、电子设备
CN112365598B (zh) 倾斜摄影数据转换三维数据的方法、装置及终端
CN101802875A (zh) 用于基于用户选择的视点选择性地检索并显示地理空间纹理数据的地理空间数据系统及相关方法
CN109697748A (zh) 模型压缩处理方法、模型贴图处理方法装置、存储介质
CN113077541B (zh) 一种虚拟天空画面的渲染方法及相关设备
CN114998433A (zh) 位姿计算方法、装置、存储介质以及电子设备
CN116993955A (zh) 三维模型的重拓扑方法、装置、设备及存储介质
CN115937396A (zh) 图像渲染方法、装置、终端设备及计算机可读存储介质
EP3437072B1 (en) System and method for rendering points without gaps
WO2023221683A1 (zh) 图像渲染方法、装置、设备和介质
US20240212282A1 (en) Image rendering method and apparatus, device, and medium
Wang [Retracted] Optimization of Three‐Dimensional Model of Landscape Space Based on Big Data Analysis
CN116883575B (zh) 建筑群渲染方法、装置、计算机设备和存储介质
WO2022183611A1 (zh) 帧内预测方法及装置、编解码器、设备、存储介质
CN112146628B (zh) 测量方法及装置、电子设备及存储介质
US11948338B1 (en) 3D volumetric content encoding using 2D videos and simplified 3D meshes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant