CN116958385A - 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 - Google Patents
支持海量单体模型的材质纹理动态更新方法、存储介质及设备 Download PDFInfo
- Publication number
- CN116958385A CN116958385A CN202311196994.4A CN202311196994A CN116958385A CN 116958385 A CN116958385 A CN 116958385A CN 202311196994 A CN202311196994 A CN 202311196994A CN 116958385 A CN116958385 A CN 116958385A
- Authority
- CN
- China
- Prior art keywords
- texture
- monomer
- model
- models
- picture
- 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.)
- Granted
Links
- 239000000178 monomer Substances 0.000 title claims abstract description 150
- 239000000463 material Substances 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 description 25
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5862—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种支持海量单体模型的材质纹理动态更新方法、存储介质及设备,包括:将某一三维场景中同类几何结构的单体模型建立索引字段BH和属性表,并按照索引字段BH由小到大的顺序合并单体模型,形成载入三维场景的合并模型,采用索引字段BH为0的单体模型的材质纹理替代所有单体模型的材质纹理;创建一张空白材质纹理图片和对应的坐标系,进行网格单元划分,将单体模型的材质纹理图片添加到网格中,并将单体模型的材质纹理图片坐标添加到属性表中;依据属性表中单体模型的材质纹理图片坐标更新合并模型中所有单体模型的材质纹理,实现单体模型的材质纹理动态更新。本发明实现三维场景中海量单体模型的大规模快速加载。
Description
技术领域
本发明涉及三维可视化技术领域,具体来说,涉及一种支持海量单体模型的材质纹理动态更新方法、存储介质及设备。
背景技术
随着智慧城市建设的不断推进和数字孪生技术的快速发展,城市空间管理活动越来越注重于构建全量化、多维度、高精度的三维场景。而海量三维模型可视化则是构建精细化三维场景的基础,面对场景中普遍存在、结构统一、纹理各异的海量三维模型,如何在保证流畅渲染的同时,提高场景高性能的交互已经成为智慧城市建设的重要工作。
三维场景中的交互行为,如模型的单个拾取、单体化渲染以及局部模型纹理修改和更新,都需要依赖单独的三维模型进行操作。当海量独立的三维模型加载到三维场景中,主流的三维引擎如OpenGL和WebGL引擎都是采取逐个读取渲染的方式,即遍历这些三维模型对象,依次读取模型的顶点、材质和纹理贴图等信息,再进行逐个渲染。由于三维模型数据量大,这种逐个读取渲染的模式会极度耗时,导致三维场景的渲染效率下降,尤其是对场景中局部大批量的三维模型进行纹理修改和更新时,响应性骤降,直接影响用户的交互体验。
目前,为了优化包含海量模型要素的三维场景渲染性能,主要通过模型合并、模型顶点简化、模型纹理合并等方法降低模型的冗余度和复杂度,减少三维框架渲染的次数和模型本身的体量。其中,对于如路灯、消防栓、井盖等结构简单的三维模型,使用模型顶点简化和模型纹理合并的方法最终效果并不理想,而将模型的几何和材质进行简单的合并会导致难以对原有的单个模型进行单体化和纹理修改的问题。申请号为202211315073.0公开了一种海量三维模型的单体化渲染方法,该方法通过参数化建模合并模型和设计模型合并索引算法,实现对合并模型中单个构件模型的单体化渲染,但是此方案只是通过切换合并模型中两种材质来达到单体化效果,无法满足某些业务场景中需要设置或者更改模型不同材质纹理样式来标识不同状态的需求。因此,如何实现场景中海量三维模型流畅渲染和高性能的动态纹理更新成为三维可视化研究工作中的一大难题。
发明内容
针对现有技术中存在的问题,本发明提供了一种支持海量单体模型的材质纹理动态更新方法、存储介质及设备,实现三维场景中海量单体模型的大规模快速加载,减少渲染过程中GPU渲染绘制的调度次数,满足三维场景中高性能渲染需求;同时支持合并模型中单体模型的单体化渲染和局部批量模型的纹理快速动态修改和更新,为精细化的大型三维场景可视化提供有力的技术支持。
为实现上述技术目的,本发明采用如下技术方案:一种支持海量单体模型的材质纹理动态更新方法,具体包括如下步骤:
步骤1、将某一三维场景中同类几何结构的单体模型建立索引字段BH和属性表,并按照索引字段BH由小到大的顺序合并单体模型,形成载入三维场景的合并模型MergedModel,采用索引字段BH为0的单体模型的材质纹理替代所有单体模型的材质纹理;
步骤2、创建一张空白材质纹理图片Textures和对应的坐标系,进行网格单元划分,将单体模型的材质纹理图片添加到网格中,并将单体模型的材质纹理图片坐标添加到属性表中;
步骤3、依据属性表中单体模型的材质纹理图片坐标更新合并模型MergedModel中所有单体模型的材质纹理,实现单体模型的材质纹理动态更新。
进一步地,步骤1包括如下子步骤:
步骤1.1、统计某一三维场景中同类几何结构的单体模型以及每个单体模型绑定的属性信息,并给单体模型建立索引字段BH,根据索引字段BH创建一张属性表;所述索引字段BH为整型,取值从0开始,按顺序增加1;
步骤1.2、将索引字段BH为0的单体模型作为初始的合并模型MergedModel,根据索引字段BH从小到大的顺序依次将所有的单体模型合并到合并模型MergedModel中,并将合并模型MergedModel中所有单体模型的材质纹理均采用索引字段BH为0的单体模型的材质纹理替代。
进一步地,所述单体模型包括:单体模型的几何结构和单体模型的材质纹理,所述单体模型的几何结构包括:顶点位置、面索引和法线;对于单体模型的材质纹理,将单体模型的材质纹理相同的材质纹理图片归为一类。
进一步地,所述合并模型MergedModel的材质纹理UVS表示为:
,
其中,S表示某一三维场景中单体模型的总数量,BH表示S的索引字段,表示索引字段BH对应的单体模型的材质纹理,,l为单体模型中的顶点总数,/>表示/>中第一个顶点位置的材质纹理横坐标,/>表示/>中第一个顶点位置的材质纹理纵坐标,/>表示/>中第二个顶点位置的材质纹理横坐标,/>表示第二个顶点位置的材质纹理纵坐标,/>表示/>中最后一个顶点位置的材质纹理横坐标,/>表示/>中最后一个顶点位置的材质纹理纵坐标。
进一步地,步骤2包括如下子步骤:
步骤2.1、创建一张空白材质纹理图片Textures,以单体模型的材质纹理图片的尺寸为网格单元,对空白材质纹理图片Textures进行划分,得到N×N个网格单元;
步骤2.2、在空白材质纹理图片Textures上建立坐标系,以空白材质纹理图片Textures的左下角为坐标原点,以向右方向为X轴的正方向,以向上方向为Y轴的正方向,每一类单体模型的材质纹理图片均选取一张按照网格单元自左而右、自下而上的顺序添加到空白材质纹理图片Textures中;
步骤2.3、将单体模型的材质纹理图片在材质纹理图片Textures坐标系上的材质纹理图片坐标添加到属性表中。
进一步地,所述网格单元的总数大于单体模型对象的材质纹理种类数。
进一步地,步骤3包括如下子步骤:
步骤3.1、遍历索引字段BH,根据合并模型MergedModel的材质纹理UVS和材质纹理图片坐标,计算出当前单体模型所对应的最终材质纹理坐标:
,
其中,X表示与当前单体模型对应的材质纹理图片的横坐标,Y表示与当前单体模型对应的材质纹理图片的纵坐标;
步骤3.2、根据当前单体模型所对应的最终材质纹理坐标对合并模型MergedModel中对应的单体模型的材质纹理进行更新。
进一步地,对于新增入合并模型MergedModel中的单体模型,若其材质纹理图片已存在于材质纹理图片Textures中,直接执行步骤3,实现对新增单体模型的材质纹理动态更新;否则,将新增单体模型的材质纹理图片添加到材质纹理图片Textures中,再执行步骤3,实现对新增单体模型的材质纹理动态更新。
进一步地,本发明还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行所述的支持海量单体模型的材质纹理动态更新方法。
进一步地,本发明还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现所述的支持海量单体模型的材质纹理动态更新方法。
与现有技术相比,本发明具有如下有益效果:本发明支持海量单体模型的材质纹理动态更新方法,在原有的海量模型基础上设置索引字段,提取与单体模型相关的属性信息构建属性表;分析模型的材质纹理特征,将单体模型的材质纹理图片添加到属性表中,并按顺序对原有单体模型进行合并;同时设置模型纹理图片的合并规则,建立合并模型和合并纹理的映射关系,通过更新材质纹理图片和单体模型的材质纹理坐标数据,实现对合并模型中单体模型的纹理更新和可视化渲染,在显著提升三维场景承载量和渲染性能的同时,也能满足用户对三维场景中单体模型的批量化动态纹理更新需求。
附图说明
为了更清晰的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明支持海量单体模型的材质纹理动态更新方法的流程示意图;
图2是采用本发明动态纹理更新方法加载两万个摄像头模型性能图;
图3是使用本发明动态纹理更新方法与未使用本方法加载摄像头模型的能力对比图。
具体实施方式
下面结合附图对本发明的技术方案作进一步地解释说明。
如图1为本发明支持海量单体模型的材质纹理动态更新方法的流程示意图,该材质纹理动态更新方法具体包括如下步骤:
步骤1、将某一三维场景中同类几何结构的单体模型建立索引字段BH和属性表,并按照索引字段BH由小到大的顺序合并单体模型,形成载入三维场景的合并模型MergedModel,同类单体模型具有同样的几何结构和纹理坐标,为了简化模型合并复杂度,采用索引字段BH为0的单体模型的材质纹理替代所有单体模型的材质纹理;具体包括如下子步骤:
步骤1.1、统计某一三维场景中同类几何结构的单体模型以及每个单体模型绑定的属性信息,并给单体模型建立索引字段BH,为了便于识别和管理合并前单体模型对象所绑定的属性信息,根据索引字段BH创建一张属性表;索引字段BH为整型,取值从0开始,按顺序增加1;
本发明中单体模型包括:单体模型的几何结构和单体模型的材质纹理,单体模型的几何结构包括:顶点位置、面索引和法线,确保后续合并模型的几何连续性和光照效果;对于单体模型的材质纹理,将单体模型的材质纹理相同的材质纹理图片归为一类,以便于对材质纹理图片进行统计和合并。
步骤1.2、将索引字段BH为0的单体模型作为初始的合并模型MergedModel,根据索引字段BH从小到大的顺序依次将所有的单体模型合并到合并模型MergedModel中,并将合并模型MergedModel中所有单体模型的材质纹理均采用索引字段BH为0的单体模型的材质纹理替代。
同类单体模型对象几何结构一致,具有一样UV数据,因此在单体模型合并过程中只需要记录一次,作为合并模型的属性保存在合并模型MergedModel中,本发明中合并模型MergedModel的材质纹理UVS表示为:
,
其中,S表示某一三维场景中单体模型的总数量,BH表示S的索引字段,表示索引字段BH对应的单体模型的材质纹理,,l为单体模型中的顶点总数,/>表示/>中第一个顶点位置的材质纹理横坐标,/>表示/>中第一个顶点位置的材质纹理纵坐标,/>表示/>中第二个顶点位置的材质纹理横坐标,/>表示第二个顶点位置的材质纹理纵坐标,/>表示/>中最后一个顶点位置的材质纹理横坐标,/>表示/>中最后一个顶点位置的材质纹理纵坐标。
步骤2、创建一张空白材质纹理图片Textures和对应的坐标系,进行网格单元划分,将不同类别的单体模型材质纹理图片添加到网格中,同时计算单体模型的材质纹理图片坐标并添加到属性表中,以便于更新合并模型的材质纹理;具体包括如下子步骤:
步骤2.1、创建一张空白材质纹理图片Textures,由于计算机图形硬件和图形库在处理纹理时通常使用基于2的幂次方的算法和优化,所以纹理图片Textures的纹理大小需满足于2的幂次方,以单体模型的材质纹理图片的尺寸为网格单元,对空白材质纹理图片Textures进行划分,得到N×N个网格单元,为了满足后期新的材质纹理的加入,网格单元的总数大于单体模型对象的材质纹理种类数;
步骤2.2、在空白材质纹理图片Textures上建立坐标系,为了保持与合并模型MergedModel中材质纹理的UV坐标系同步,以空白材质纹理图片Textures的左下角为坐标原点,以向右方向为X轴的正方向,以向上方向为Y轴的正方向,每一类单体模型的材质纹理图片均选取一张按照网格单元自左而右、自下而上的顺序添加到空白材质纹理图片Textures中;
步骤2.3、将单体模型的材质纹理图片在材质纹理图片Textures坐标系上的材质纹理图片坐标添加到属性表中。
步骤3、依据属性表中单体模型的材质纹理图片坐标更新合并模型MergedModel中所有单体模型的材质纹理,在合并模型MergedModel和合并材质纹理图片确定的情况下,仅需要修改单体模型对应的材质纹理坐标,就可以调整合并模型中单体模型的纹理样式,实现单体模型的材质纹理动态更新;具体包括如下子步骤:
步骤3.1、遍历索引字段BH,根据合并模型MergedModel的材质纹理UVS和材质纹理图片坐标,计算出当前单体模型所对应的最终材质纹理坐标,由于材质纹理UVS数组中奇偶下标的数据分别表示纹理图片在横纵向上的分布,因此,计算单体模型最终材质纹理坐标时需要结合纹理图片的横纵向坐标单独计算:
,
其中,X表示与当前单体模型对应的材质纹理图片的横坐标,Y表示与当前单体模型对应的材质纹理图片的纵坐标;
步骤3.2、根据当前单体模型所对应的最终材质纹理坐标对合并模型MergedModel中对应的单体模型的材质纹理进行更新。
在本发明的一个技术方案中,对于新增入合并模型MergedModel中的单体模型,若其材质纹理图片已存在于材质纹理图片Textures中,直接执行步骤3,实现对新增单体模型的材质纹理动态更新;否则,将新增单体模型的材质纹理图片添加到材质纹理图片Textures中,再执行步骤3,实现对新增单体模型的材质纹理动态更新。
本发明支持海量单体模型的材质纹理动态更新方法实现三维场景中海量单体模型的大规模快速加载,减少渲染过程中GPU渲染绘制的调度次数,满足三维场景中高性能渲染需求;同时支持合并模型中单体模型的单体化渲染和局部批量模型的纹理快速动态修改和更新,为精细化的大型三维场景可视化提供有力的技术支持。
在本发明的另一个技术方案中,还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序使计算机执行所述的支持海量单体模型的材质纹理动态更新方法。
在本发明的另一个技术方案中,还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现所述的支持海量单体模型的材质纹理动态更新方法。
实施例
本实施例通过本发明支持海量单体模型的材质纹理动态更新方法来模拟某城市区域中两万个监控摄像头模型,这些摄像头模型具备数量庞大、结构简单统一、材质样式各异的表达特点。利用本发明材质纹理动态更新方法时,首先将场景中所有摄像头模型按照规则进行合并,建立索引编号和属性表;设置模型的纹理存放规则,建立合并模型和合并纹理的映射关系;对合并后摄像头模型的材质进行更新,使得新摄像头模型具备了高度集中的组织结构,有利于模型的快速加载和高性能渲染;利用编号特征对整体模型中原先独立摄像头模型进行快速定位和纹理修改,实现对摄像头模型纹理进行动态更新的支持。
将本发明方法用于加载城市区域中两万个摄像头模型,如图2所示,加载后系统帧率为59.3fps,而运行设备的刷新率为59.94 Hz,即已经接近最高帧率,运行非常流畅。图3是对比使用本发明方法与独立加载两万个摄像头模型的对比情况,如未对摄像头模型进行合并,加载两万个独立模型,每个独立模型由78个三角面片构成,帧率仅为6.6fps,运行十分卡顿;而采用本发明方法,同样的两万个模型加载后帧率为59.3fps,运行非常流畅。此外,采用本发明渲染方法即使将构件模型增加到一百万个,其帧率仍能稳定在59.0fps,说明本发明合并模型渲染方法具有极高的稳定性。
在本申请所公开的实施例中,计算机存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序。计算机存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。计算机存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本领域普通技术人员可以意识到,结合本申请所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (10)
1.一种支持海量单体模型的材质纹理动态更新方法,其特征在于,具体包括如下步骤:
步骤1、将某一三维场景中同类几何结构的单体模型建立索引字段BH和属性表,并按照索引字段BH由小到大的顺序合并单体模型,形成载入三维场景的合并模型MergedModel,采用索引字段BH为0的单体模型的材质纹理替代所有单体模型的材质纹理;
步骤2、创建一张空白材质纹理图片Textures和对应的坐标系,进行网格单元划分,将单体模型的材质纹理图片添加到网格中,并将单体模型的材质纹理图片坐标添加到属性表中;
步骤3、依据属性表中单体模型的材质纹理图片坐标更新合并模型MergedModel中所有单体模型的材质纹理,实现单体模型的材质纹理动态更新。
2.根据权利要求1所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,步骤1包括如下子步骤:
步骤1.1、统计某一三维场景中同类几何结构的单体模型以及每个单体模型绑定的属性信息,并给单体模型建立索引字段BH,根据索引字段BH创建一张属性表;所述索引字段BH为整型,取值从0开始,按顺序增加1;
步骤1.2、将索引字段BH为0的单体模型作为初始的合并模型MergedModel,根据索引字段BH从小到大的顺序依次将所有的单体模型合并到合并模型MergedModel中,并将合并模型MergedModel中所有单体模型的材质纹理均采用索引字段BH为0的单体模型的材质纹理替代。
3.根据权利要求2所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,所述单体模型包括:单体模型的几何结构和单体模型的材质纹理,所述单体模型的几何结构包括:顶点位置、面索引和法线;对于单体模型的材质纹理,将单体模型的材质纹理相同的材质纹理图片归为一类。
4.根据权利要求2所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,所述合并模型MergedModel的材质纹理UVS表示为:
,
其中,S表示某一三维场景中单体模型的总数量,BH表示S的索引字段,表示索引字段BH对应的单体模型的材质纹理,,l为单体模型中的顶点总数,/>表示/>中第一个顶点位置的材质纹理横坐标,/>表示/>中第一个顶点位置的材质纹理纵坐标,/>表示/>中第二个顶点位置的材质纹理横坐标,/>表示第二个顶点位置的材质纹理纵坐标,/>表示/>中最后一个顶点位置的材质纹理横坐标,/>表示/>中最后一个顶点位置的材质纹理纵坐标。
5.根据权利要求4所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,步骤2包括如下子步骤:
步骤2.1、创建一张空白材质纹理图片Textures,以单体模型的材质纹理图片的尺寸为网格单元,对空白材质纹理图片Textures进行划分,得到N×N个网格单元;
步骤2.2、在空白材质纹理图片Textures上建立坐标系,以空白材质纹理图片Textures的左下角为坐标原点,以向右方向为X轴的正方向,以向上方向为Y轴的正方向,每一类单体模型的材质纹理图片均选取一张按照网格单元自左而右、自下而上的顺序添加到空白材质纹理图片Textures中;
步骤2.3、将单体模型的材质纹理图片在材质纹理图片Textures坐标系上的材质纹理图片坐标添加到属性表中。
6.根据权利要求5所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,所述网格单元的总数大于单体模型对象的材质纹理种类数。
7.根据权利要求5所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,步骤3包括如下子步骤:
步骤3.1、遍历索引字段BH,根据合并模型MergedModel的材质纹理UVS和材质纹理图片坐标,计算出当前单体模型所对应的最终材质纹理坐标:
,
其中,X表示与当前单体模型对应的材质纹理图片的横坐标,Y表示与当前单体模型对应的材质纹理图片的纵坐标;
步骤3.2、根据当前单体模型所对应的最终材质纹理坐标对合并模型MergedModel中对应的单体模型的材质纹理进行更新。
8.根据权利要求7所述的一种支持海量单体模型的材质纹理动态更新方法,其特征在于,对于新增入合并模型MergedModel中的单体模型,若其材质纹理图片已存在于材质纹理图片Textures中,直接执行步骤3,实现对新增单体模型的材质纹理动态更新;否则,将新增单体模型的材质纹理图片添加到材质纹理图片Textures中,再执行步骤3,实现对新增单体模型的材质纹理动态更新。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序使计算机执行如权利要求1-8任一项所述的支持海量单体模型的材质纹理动态更新方法。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如权利要求1-8任一项所述的支持海量单体模型的材质纹理动态更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196994.4A CN116958385B (zh) | 2023-09-18 | 2023-09-18 | 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311196994.4A CN116958385B (zh) | 2023-09-18 | 2023-09-18 | 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116958385A true CN116958385A (zh) | 2023-10-27 |
CN116958385B CN116958385B (zh) | 2023-12-08 |
Family
ID=88447714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311196994.4A Active CN116958385B (zh) | 2023-09-18 | 2023-09-18 | 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116958385B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118334227A (zh) * | 2024-06-12 | 2024-07-12 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的视觉纹理映射方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125029A1 (en) * | 2011-11-15 | 2013-05-16 | Trimble Navigation Limited | Extensible web-based 3d modeling |
CN105718480A (zh) * | 2014-12-05 | 2016-06-29 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的海量三维数据调度的方法 |
CN106600679A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据简化的方法 |
CN108346174A (zh) * | 2017-12-31 | 2018-07-31 | 广州都市圈网络科技有限公司 | 一种支持单模型交互的三维模型合并方法 |
CN112818450A (zh) * | 2021-02-01 | 2021-05-18 | 中国电建集团成都勘测设计研究院有限公司 | 基于区块索引的bim模型组织方法 |
CN113920235A (zh) * | 2021-09-29 | 2022-01-11 | 上海瀚世信息技术有限公司 | 一种三维模型的自动化渲染方法 |
CN115330933A (zh) * | 2022-07-29 | 2022-11-11 | 长江空间信息技术工程有限公司(武汉) | 一种计及Web端快速渲染的倾斜摄影空间索引构建方法 |
CN115393530A (zh) * | 2022-10-26 | 2022-11-25 | 苏州工业园区测绘地理信息有限公司 | 海量三维模型的单体化渲染方法、存储介质及电子设备 |
CN115719410A (zh) * | 2022-11-26 | 2023-02-28 | 星际空间(天津)科技发展有限公司 | 一种空间模型数据的切片方法 |
CN116503538A (zh) * | 2023-04-24 | 2023-07-28 | 瞳见科技有限公司 | 基于倾斜摄影的单体建模方法、系统、终端及存储介质 |
-
2023
- 2023-09-18 CN CN202311196994.4A patent/CN116958385B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125029A1 (en) * | 2011-11-15 | 2013-05-16 | Trimble Navigation Limited | Extensible web-based 3d modeling |
CN105718480A (zh) * | 2014-12-05 | 2016-06-29 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的海量三维数据调度的方法 |
CN106600679A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据简化的方法 |
CN108346174A (zh) * | 2017-12-31 | 2018-07-31 | 广州都市圈网络科技有限公司 | 一种支持单模型交互的三维模型合并方法 |
CN112818450A (zh) * | 2021-02-01 | 2021-05-18 | 中国电建集团成都勘测设计研究院有限公司 | 基于区块索引的bim模型组织方法 |
CN113920235A (zh) * | 2021-09-29 | 2022-01-11 | 上海瀚世信息技术有限公司 | 一种三维模型的自动化渲染方法 |
CN115330933A (zh) * | 2022-07-29 | 2022-11-11 | 长江空间信息技术工程有限公司(武汉) | 一种计及Web端快速渲染的倾斜摄影空间索引构建方法 |
CN115393530A (zh) * | 2022-10-26 | 2022-11-25 | 苏州工业园区测绘地理信息有限公司 | 海量三维模型的单体化渲染方法、存储介质及电子设备 |
CN115719410A (zh) * | 2022-11-26 | 2023-02-28 | 星际空间(天津)科技发展有限公司 | 一种空间模型数据的切片方法 |
CN116503538A (zh) * | 2023-04-24 | 2023-07-28 | 瞳见科技有限公司 | 基于倾斜摄影的单体建模方法、系统、终端及存储介质 |
Non-Patent Citations (2)
Title |
---|
张志腾;: "基于VR系统下的古建筑模型优化方法研究", 艺术科技, no. 01 * |
王锋;潘德吉;王俊;: "城市三维模型海量数据动态组织调度方法", 中国科学院大学学报, no. 03 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118334227A (zh) * | 2024-06-12 | 2024-07-12 | 山东捷瑞数字科技股份有限公司 | 一种基于三维引擎的视觉纹理映射方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116958385B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346769B (zh) | 三维建模对象的压缩 | |
CN116958385B (zh) | 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 | |
CN106023297B (zh) | 一种精细三维模型的纹理动态组织方法 | |
CN113628331B (zh) | 一种虚幻引擎中摄影测量模型的数据组织和调度方法 | |
CN114820990B (zh) | 一种基于数字孪生的流域防洪可视化方法及系统 | |
CN113593051A (zh) | 一种实景可视化方法及大坝可视化方法及计算机设备 | |
CN112785673B (zh) | 一种基于WebGL批量三维模型数据的渲染方法 | |
CN111932668A (zh) | 一种城市景观模型三维可视化方法、系统、介质和电子设备 | |
CN116502303B (zh) | 一种基于场景层级实例信息增强的bim模型可视化方法 | |
CN108733441B (zh) | 一种适用于大规模电网符号设备的渲染可视化方法及系统 | |
CN112785696A (zh) | 基于游戏引擎和倾斜摄影数据的三维实景模型生成方法 | |
US11995771B2 (en) | Automated weighting generation for three-dimensional models | |
CN108346174B (zh) | 一种支持单模型交互的三维模型合并方法 | |
CN116030176A (zh) | 基于簇划分的三维模型渲染方法、装置、设备及介质 | |
CN109712227B (zh) | 一种体素地形的管理方法 | |
CN115393530B (zh) | 海量三维模型的单体化渲染方法、存储介质及电子设备 | |
CN103247077A (zh) | 一种基于多顶点对处理的三维模型边折叠简化的方法 | |
CN114170394B (zh) | 一种海量倾斜数据在Web端的展示优化方法及装置 | |
EP2715564B1 (en) | Mesh sequence file format | |
CN112435322B (zh) | 一种3d模型的渲染方法、装置、设备及存储介质 | |
Schmalstieg et al. | Modeling and rendering of outdoor scenes for distributed virtual environments | |
Masood et al. | A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes | |
Li et al. | Mass models dynamic loading method research and implementation based on OSG | |
CN116629162B (zh) | 非定常流场数据处理方法、装置、电子设备及存储介质 | |
Yang et al. | Large scale terrain real-time rendering on GPU using double layers tile quad tree and cuboids bounding error metric |
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 |