CN114419241A - 一种三维模型构建方法、装置及存储介质 - Google Patents

一种三维模型构建方法、装置及存储介质 Download PDF

Info

Publication number
CN114419241A
CN114419241A CN202210054856.1A CN202210054856A CN114419241A CN 114419241 A CN114419241 A CN 114419241A CN 202210054856 A CN202210054856 A CN 202210054856A CN 114419241 A CN114419241 A CN 114419241A
Authority
CN
China
Prior art keywords
dimensional model
scene
shadow volume
initial
vector data
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.)
Pending
Application number
CN202210054856.1A
Other languages
English (en)
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.)
Beijing Cennavi Technologies Co Ltd
Original Assignee
Beijing Cennavi Technologies 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 Beijing Cennavi Technologies Co Ltd filed Critical Beijing Cennavi Technologies Co Ltd
Priority to CN202210054856.1A priority Critical patent/CN114419241A/zh
Publication of CN114419241A publication Critical patent/CN114419241A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种三维模型构建方法、装置及存储介质,涉及图形渲染领域,用于解决现有技术中矢量数据贴合度较低的问题。该方法包括:首先获取待构建场景的场景数据和矢量数据。然后根据场景数据构建待构建场景的初始三维模型,并根据场景数据和矢量数据,构建初始三维模型的阴影体。从阴影体中,确定与矢量数据对应的目标区域,接着,对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到原始场景的目标三维模型。增加了目标区域与初始三维模型中场景的贴合度。

Description

一种三维模型构建方法、装置及存储介质
技术领域
本申请涉及图形渲染领域,尤其涉及一种三维模型构建方法、装置及存储介质。
背景技术
随着计算机图像技术的快速发展,可以实现模拟真实场景的三维场景。通过在三维场景中叠加矢量线或者矢量面,可以表示真实场景中的路网或者特定的地块。
现有的技术方案中,通常是通过插值计算的方法,将矢量线或者矢量面叠加到三维场景中。
然而,当三维场景中的地形或物体的高度不一致时(例如,地面有高低起伏),叠加矢量线或者矢量面的效果不理想(例如矢量线或者矢量面不能完全贴合三维场景),降低了可视化效果。
发明内容
本申请提供一种三维模型构建方法、装置及存储介质,用于解决现有技术中矢量数据贴合度较低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种三维模型构建方法,包括:首先获取待构建场景的场景数据和矢量数据。然后根据场景数据构建待构建场景的初始三维模型,并根据场景数据和矢量数据,构建初始三维模型的阴影体。从阴影体中,确定与矢量数据对应的目标区域,接着,对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到原始场景的目标三维模型。
可选的,根据场景数据和矢量数据,构建初始三维模型的阴影体的方法具体包括:根据场景数据和矢量数据,确定阴影体的顶点位置;根据顶点位置,构建阴影体;阴影体包括初始三维模型中所有的点。
可选的,从阴影体中,确定与矢量数据对应的目标区域的方法具体包括:确定阴影体的表面的多个区域的模板值;将多个区域中,模板值满足预设条件的区域确定为目标区域。
可选的,确定阴影体的表面的多个区域的模板值的方法具体还包括:根据深度失败z-fail算法计算模板值。
第二方面,提供一种三维模型构建装置,包括:获取单元和处理单元;获取单元,用于获取待构建场景的场景数据和矢量数据;处理单元,用于根据获取单元获取的场景数据构建待构建场景的初始三维模型;处理单元,还用于根据获取单元获取的场景数据和矢量数据,构建初始三维模型的阴影体;处理单元,还用于从阴影体中,确定与获取单元获取的矢量数据对应的目标区域;处理单元,还用于对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到待构建场景的目标三维模型。
可选的,处理单元,具体用于:根据获取单元获取的场景数据和矢量数据,确定阴影体的顶点位置;根据顶点位置,构建阴影体;阴影体包括初始三维模型中所有的点。
可选的,处理单元,具体用于:确定阴影体的表面的多个区域的模板值;将多个区域中,模板值满足预设条件的区域确定为目标区域。
可选的,处理单元,具体用于:根据深度失败z-fail算法计算模板值。
第三方面,提供一种三维模型构建装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当三维模型构建装置运行时,处理器执行存储器存储的计算机执行指令,以使三维模型构建装置执行第一方面所述的三维模型构建方法。
该三维模型构建装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,获取、处理上述三维模型构建方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的三维模型构建方法。
第五方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在三维模型构建装置上运行时,使得三维模型构建装置执行如上述第一方面所述的三维模型构建方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与三维模型构建装置的处理器封装在一起的,也可以与三维模型构建装置的处理器单独封装,本申请实施例对此不作限定。
本申请中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请实施例中,上述三维模型构建装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
本申请提供的技术方案至少带来以下有益效果:
基于上述任一方面,本申请提出一种三维模型构建方法,首先获取待构建场景的场景数据和矢量数据。然后根据场景数据构建待构建场景的初始三维模型,并根据场景数据和矢量数据,构建初始三维模型的阴影体。从阴影体中,确定与矢量数据对应的目标区域,接着,对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到原始场景的目标三维模型。由于本申请中阴影体的构建与场景数据和矢量数据有关,增加了目标区域与初始三维模型中场景的贴合度,进而提高了可视化效果。
附图说明
图1为本申请实施例提供的三维模型构建系统的结构示意图;
图2为本申请实施例提供的三维模型构建装置的一种结构示意图;
图3为本申请实施例提供的通信装置的一种硬件结构示意图;
图4为本申请实施例提供的通信装置的又一种硬件结构示意图;
图5为本申请实施例提供的一种三维模型构建方法的流程示意图;
图6为本申请实施例提供的又一种三维模型构建方法的流程示意图;
图7为本申请实施例提供的一种构建阴影体的示意图;
图8为本申请实施例提供的又一种三维模型构建方法的流程示意图;
图9为本申请实施例提供的又一种三维模型构建方法的流程示意图;
图10为本申请实施例提供的一种渲染阴影体的示意图;
图11为本申请实施例提供的一种三维模型构建装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
阴影体(shadow volume):预设光源照射遮挡物所形成的空间阴影区域,包括预设光源和遮挡物顶点的连线所构成的一个半无穷区域大小的锥体中的部分台体。
模版缓冲(stencil buffer):用于限制渲染的区域。
模板值:模版缓冲过程中给每个像素分配的一个字节长度的数值。
深度缓冲:是在三维图形中处理图像深度坐标的过程,这个过程通常在硬件中完成,它也可以在软件中完成,它是可见性问题的一个解决方法。可见性问题是确定渲染场景中哪部分可见、哪部分不可见的问题。画家算法是另外一种常用的方法,尽管效率较低,但是也可以处理透明场景元素。深度缓冲也称为Z缓冲。
深度失败(z-fail)算法:先后渲染阴影体的背面和正面,视线经过背面时深度测试失败则模板值加1,经过正面时深度测试失败则模板值减1。最后模板值不为0的面便处于阴影体中。
如背景技术所描述,现有的三维模型构建方法中当三维场景中的地形或物体的高度不一致时,叠加矢量线或者矢量面的效果不理想,降低了可视化效果。
针对上述问题,本申请实施例提供了一种三维模型构建方法,首先获取待构建场景的场景数据和矢量数据。然后根据场景数据构建待构建场景的初始三维模型,并根据场景数据和矢量数据,构建初始三维模型的阴影体。从阴影体中,确定与矢量数据对应的目标区域,接着,对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到原始场景的目标三维模型。由于本申请中阴影体的构建与场景数据和矢量数据有关,增加了目标区域与初始三维模型中场景的贴合度,进而提高了可视化效果。
该三维模型构建方法适用于三维模型构建系统。图1示出了该三维模型构建系统的一种结构。如图1所示,该三维模型构建系统包括:三维模型构建装置101。
可选的,三维模型构建装置101用于接收场景测量装置102发送的待构建场景的场景数据和矢量数据,并根据场景数据和矢量数据,构建待构建场景的目标三维模型。三维模型构建装置101可以为计算机、测绘仪器等建模设备。
可选的,如图2所示,三维模型构建装置101包括:计算机图形应用程序接口(application programming interface,API)201(具体指三维模型构建装置101与三维软件的接口,用于调用三维软件的应用程序)、三维渲染引擎202(用于对获取到的场景数据进行处理,以得到三维模型的三维数据)、中央处理器(central processing unit,CPU)203(用于渲染三维模型,例如将三维数据三角化和光栅化)、图形处理器(graphicsprocessing unit,GPU)204(包括顶点容器(vert buffer)210和索引容器(index buffer)211)、显示器205(用于显示渲染后的三维模型)。
其中,vert buffer210用于存贮三维数据的点位(position)、纹理坐标(UV)、法线数据(normal)。index buffer211用于存贮position的索引顺序。
可选的,计算机图形API201可以为网络图形库(web graphics library,Web GL)、网络图形处理器(web graphics processing unit,Web GPU)等。
三维模型构建系统中的三维模型构建装置101包括图3或图4所示通信装置所包括的元件。下面以图3和图4所示的通信装置为例,介绍三维模型构建装置101的硬件结构。
如图3所示,为本申请实施例提供的通信装置的一种硬件结构示意图。该通信装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用CPU,也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图3中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明下述实施例提供的三维模型构建方法。
在本申请实施例中,对于三维模型构建装置101而言,存储器22中存储的软件程序不同,所以三维模型构建装置101实现的功能不同。关于各设备所执行的功能将结合下面的流程图进行描述。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于通信装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图4示出了本发明实施例中通信装置的另一种硬件结构。如图4所示,通信装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以起上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是通信装置的内部接口,也可以是通信装置对外的接口(相当于通信接口23)。
需要指出的是,图3(或图4)中示出的结构并不构成对通信装置的限定,除图3(或图4)所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合附图对本申请实施例提供的三维模型构建方法进行详细介绍。
如图5所示,本申请实施例提供的三维模型构建方法应用于三维模型构建装置,包括:S501-S505。
S501、三维模型构建装置获取待构建场景的场景数据和矢量数据。
可选的,场景数据包括待构建场景中的地形信息、位置信息、物体形状大小等信息。
可选的,地形信息包括地表高度、倾斜度等。
可选的,位置信息可以为经纬度信息或待构建场景在预设坐标系中的坐标。
可选的,矢量数据可以为矢量线或矢量面中的多个顶点位置。
可选的,矢量数据的数据格式可以为基于Java脚本的对象表示法(java scriptobject notation,JSON)的地理空间信息数据交换格式(geojson),包括:类型(type)和特征(features)。
其中,features包括:type、几何(geometry)(包括type、经纬度(coordinates))、配置(properties)(包括标题(title)、种类(kind))。
type的值可以为“直线(LineString)”、“多边形(Polygon)”或者“行政区划分(FeatureCollection)”。
示例性的,预设矢量数据包括待构建场景中第一类的直线路线二的经纬度坐标(104.8321182480594,33.47287684734475)、(104.8321182480594,33.94287684734475),以及第一类的直线路线一的经纬度坐标(106.8321182480594,33.47287684734475)、(107.8521182480594,33.98287684734475)。矢量数据的格式包括:
Figure BDA0003475789080000071
Figure BDA0003475789080000081
可选的,三维模型构建装置获取待构建场景的场景数据和矢量数据的方法包括:场景测量装置测量待构建场景内的原始数据,得到场景数据和矢量数据,并向三维模型构建装置发送场景数据和矢量数据。
S502、三维模型构建装置根据场景数据构建待构建场景的初始三维模型。
可选的,初始三维模型可以为倾斜摄影测量模型(open scene gragh binary,OSGB)、数字高程模型(digital elevation mod,DEM)、或其他使用人工建模的三维城市模型。
可选的,结合图2,三维模型构建装置根据场景数据构建待构建场景的初始三维模型的方法包括:三维模型构建装置通过三维渲染引擎202对场景数据进行处理,得到与初始三维模型对应的三维数据。然后CPU203读取vert buffer210中存贮的position、UV、normal,以及index buffer211中position的索引顺序,设置渲染状态(例如模板、深度检测、着色等)。CPU203根据渲染状态将三维数据三角化、光栅化,得到初始三维模型。后续,在显示器205显示初始三维模型。
可选的,当初始三维模型为OSGB时,三维数据可以为三维瓦片数据(3-dimension-tile,3d-tile)。
当初始三维模型为DEM时,三维数据可以为模板文件(SSEYO Koan Templatefile,SKT)。
S503、三维模型构建装置根据场景数据和矢量数据,构建初始三维模型的阴影体。
可选的,三维模型构建装置根据场景数据和矢量数据,构建初始三维模型的阴影体的方法包括:三维模型构建装置获取初始三维模型的包围体的顶点信息。然后,三维模型构建装置根据包围体的顶点信息和矢量数据,构建初始三维模型的阴影体。
其中,阴影体包括矢量数据对应的初始三维模型中的所有点。
可选的,包围体的顶点信息包括顶点坐标的最大值与最小值。
可选的,当初始三维模型为OSGB时,三维模型构建装置获取初始三维模型的包围体的顶点信息的方法可以为:获取OSGB的数据层面的包围体的顶点坐标的最大值与最小值。
S504、三维模型构建装置从阴影体中,确定与矢量数据对应的目标区域。
可选的,三维模型构建装置从阴影体中,确定与矢量数据对应的目标区域的方法包括:三维模型构建装置通过目标算法计算阴影体的表面的多个区域的模板值。然后,三维模型构建装置将模板值满足预设条件的区域确定为目标区域。
S505、三维模型构建装置对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到待构建场景的目标三维模型。
在一种实施例中,结合图5,如图6所示,S503中三维模型构建装置根据场景数据和矢量数据,构建初始三维模型的阴影体的方法具体包括:S601-S602。
S601、三维模型构建装置根据场景数据和矢量数据,确定阴影体的顶点位置。
可选的,场景渲染装置根据矢量数据的每个顶点进行复制,复制后的每对顶点其中一个顶点向预设光源方向平移到第一位置,另一个顶点向预设光源的反方向平移到第二位置。
其中,第一位置的顶点组成的向光面(front faces)应完全位于初始三维模型之上,第二位置的顶点组成的背光面(back faces)应完全位于初始三维模型之下,即阴影体的高大于初始三维模型的高。
示例性的,如图7中(1)所示,预设三维模型构建装置根据场景数据得到初始三维模型,矢量数据包括顶点A、顶点B和顶点C。为了便于理解,图7中701为初始三维模型中地表的二维展开图。
如图7中(2)所示,三维模型构建装置复制顶点A、顶点B和顶点C后移动每对顶点,得到向预设光源702方向平移到第一位置的顶点A1、顶点B1和顶点C1,以及向预设光源702的反方向平移到第二位置的顶点A2、顶点B2和顶点C2
其中,顶点A1、顶点B1和顶点C1组成的front faces(面A1B1C1)完全位于701之上。顶点A2、顶点B2和顶点C2组成的back faces(面A2B2C2)完全位于701之下。
S602、三维模型构建装置根据顶点位置,构建阴影体。
其中,阴影体包括初始三维模型中所有的点。
可选的,确定顶点位置之后,三维模型构建装置将连接相邻的顶点的线段确定为阴影体的棱,并将构建的封闭图形确定为阴影体。
示例性的,如图7中(3)所示,三维模型构建装置连接顶点A1和顶点B1、顶点A1和顶点C1、顶点B1和顶点C1、顶点A2和顶点B2、顶点A2和顶点C2、顶点B2和顶点C2、顶点A1和顶点A2、顶点B1和顶点B2、顶点C1和顶点C2,得到阴影体A1B1C1-A2B2C2
在一种实施例中,结合图5,如图8所示,S504中三维模型构建装置从阴影体中,确定与矢量数据对应的目标区域的方法具体包括:S801-S802。
S801、三维模型构建装置确定阴影体的表面的多个区域的模板值。
可选的,三维模型构建装置通过目标算法将阴影体进行第一次渲染,确定阴影体的表面的多个区域的模板值。
可选的,目标算法可以为z-fail算法。
S802、三维模型构建装置将多个区域中,模板值满足预设条件的区域确定为目标区域。
可选的,当目标算法为z-fail算法时,预设条件为模板值不为零。
示例性的,预设目标算法为z-fail算法,三维模型构建装置确定阴影体的表面的多个区域的模板值包括:区域A的模板值为0,区域B的模板值为-1,区域C的模板值为0,区域D的模板值为1。此时,三维模型构建装置将模板值不为零的区域(区域B和区域D)确定为目标区域。
在一种实施例中,结合图8,如图9所示,S801中三维模型构建装置确定阴影体的表面的多个区域的模板值的方法具体包括:S901。
S901、三维模型构建装置根据深度失败z-fail算法计算模板值。
具体的,三维模型构建装置先渲染阴影体的正视图看不到的面,将深度测试失败的区域的模板值加1。然后,三维模型构建装置再渲染阴影体的正视图可以看到的面,将深度测试失败的区域的模板值减1。后续,将同一区域的模板值相加,得到多个区域的模板值。
可选的,为了避免渲染阴影体时,阴影体的面与三维模型的面重叠造成显示器显示的画面闪烁,三维模型构建装置可以将阴影体的back faces与front faces向预设光源的反方向平移预设距离。
示例性的,如图10中(1)所示,三维模型构建装置将阴影体A1B1C1-A2B2C2的backfaces(面A2B2C2)向预设光源的反方向平移预设距离,得到的面A2′B2′C2′位于面A2B2C2下方,将front faces(面A1B1C1)向预设光源的反方向平移预设距离,得到的面A1′B1′C1′位于面A1B1C1下方。
如图10中(2)所示,三维模型构建装置先渲染阴影体A1′B1′C1′-A2′B2′C2′的正视图看不到的面(面A1′B1′B2′A2′和面A2′B2′C2′),阴影区域为经过面A1′B1′B2′A2′和面A2′B2′C2′时深度测试失败模板值加1的区域。
如图10中(3)所示,三维模型构建装置渲染阴影体A1′B1′C1′-A2′B2′C2′的正视图可以看到的面(面A1′B1′C1′、面A1′C1′C2′A2′和面C1′B1′B2′C2′),阴影区域为经过面A1′B1′C1′、面A1′C1′C2′A2′和面C1′B1′B2′C2′时深度测试失败模板值减1的区域。
如图10中(4)所示,三维模型构建装置将同一区域的模板值相加,得到多个区域的模板值,阴影区域为模板值不为零的区域。
综上,本申请实施例中的三维模型构建装置在三维模型构建的过程中首先获取待构建场景的场景数据和矢量数据。然后根据场景数据构建待构建场景的初始三维模型,并根据场景数据和矢量数据,构建初始三维模型的阴影体。从阴影体中,确定与矢量数据对应的目标区域,接着,对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到原始场景的目标三维模型。由于本申请中阴影体的构建与场景数据和矢量数据有关,增加了目标区域与初始三维模型中场景的贴合度,进而提高了可视化效果。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对支撑服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图11所示,为本申请实施例提供的一种三维模型构建装置的结构示意图。该三维模型构建装置可以用于执行图5、图6、图8或者图9所示的三维模型构建的方法。图11所示三维模型构建装置包括:获取单元1101和处理单元1102。
获取单元1101,用于获取待构建场景的场景数据和矢量数据。例如,结合图5,获取单元1101用于执行S501。
处理单元1102,用于根据获取单元1101获取的场景数据构建待构建场景的初始三维模型。例如,结合图5,处理单元1102用于执行S502。
处理单元1102,还用于根据获取单元1101获取的场景数据和矢量数据,构建初始三维模型的阴影体。例如,结合图5,处理单元1102用于执行S503。
处理单元1102,还用于从阴影体中,确定与获取单元1101获取的矢量数据对应的目标区域。例如,结合图5,处理单元1102用于执行S504。
处理单元1102,还用于对目标区域进行渲染,并将渲染后的目标区域叠加到初始三维模型中,以得到待构建场景的目标三维模型。例如,结合图5,处理单元1102用于执行S505。
可选的,处理单元1102,具体用于根据获取单元1101获取的场景数据和矢量数据,确定阴影体的顶点位置;根据顶点位置,构建阴影体。例如,结合图6,处理单元1102用于执行S601-S602。
可选的,处理单元1102,具体用于确定阴影体的表面的多个区域的模板值;将多个区域中,模板值满足预设条件的区域确定为目标区域。例如,结合图8,处理单元1102用于执行S801-S802。
可选的,处理单元1102,具体用于:根据深度失败z-fail算法计算模板值。例如,结合图9,处理单元1102用于执行S901。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的三维模型构建方法。
本申请实施例还提供一种计算机程序,该计算机程序可直接加载到存储器中,并含有软件代码,该计算机程序经由计算机载入并执行后能够实现上述实施例提供的三维模型构建方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种三维模型构建方法,其特征在于,包括:
获取待构建场景的场景数据和矢量数据;
根据所述场景数据构建所述待构建场景的初始三维模型;
根据所述场景数据和所述矢量数据,构建所述初始三维模型的阴影体;
从所述阴影体中,确定与所述矢量数据对应的目标区域;
对所述目标区域进行渲染,并将渲染后的目标区域叠加到所述初始三维模型中,以得到所述待构建场景的目标三维模型。
2.根据权利要求1所述的三维模型构建方法,其特征在于,所述根据所述场景数据和所述矢量数据,构建所述初始三维模型的阴影体,包括:
根据所述场景数据和所述矢量数据,确定所述阴影体的顶点位置;
根据所述顶点位置,构建所述阴影体;所述阴影体包括所述初始三维模型中所有的点。
3.根据权利要求1所述的方法,其特征在于,所述从所述阴影体中,确定与所述矢量数据对应的目标区域,包括:
确定所述阴影体的表面的多个区域的模板值;
将所述多个区域中,所述模板值满足预设条件的区域确定为所述目标区域。
4.根据权利要求3所述的方法,其特征在于,所述确定所述阴影体的表面的多个区域的模板值,包括:
根据深度失败z-fail算法计算所述模板值。
5.一种三维模型构建装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,用于获取待构建场景的场景数据和矢量数据;
所述处理单元,用于根据所述获取单元获取的所述场景数据构建所述待构建场景的初始三维模型;
所述处理单元,还用于根据所述获取单元获取的所述场景数据和所述矢量数据,构建所述初始三维模型的阴影体;
所述处理单元,还用于从所述阴影体中,确定与所述获取单元获取的所述矢量数据对应的目标区域;
所述处理单元,还用于对所述目标区域进行渲染,并将渲染后的目标区域叠加到所述初始三维模型中,以得到所述待构建场景的目标三维模型。
6.根据权利要求5所述的三维模型构建装置,其特征在于,所述处理单元,具体用于:
根据所述获取单元获取的所述场景数据和所述矢量数据,确定所述阴影体的顶点位置;
根据所述顶点位置,构建所述阴影体;所述阴影体包括所述初始三维模型中所有的点。
7.根据权利要求5所述的三维模型构建装置,其特征在于,所述处理单元,具体用于:
确定所述阴影体的表面的多个区域的模板值;
将所述多个区域中,所述模板值满足预设条件的区域确定为所述目标区域。
8.根据权利要求7所述的三维模型构建装置,其特征在于,所述处理单元,具体用于:
根据深度失败z-fail算法计算所述模板值。
9.一种三维模型构建装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述三维模型构建装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述三维模型构建装置执行如权利要求1-4任一项所述的三维模型构建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一项所述的三维模型构建方法。
CN202210054856.1A 2022-01-18 2022-01-18 一种三维模型构建方法、装置及存储介质 Pending CN114419241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210054856.1A CN114419241A (zh) 2022-01-18 2022-01-18 一种三维模型构建方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210054856.1A CN114419241A (zh) 2022-01-18 2022-01-18 一种三维模型构建方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN114419241A true CN114419241A (zh) 2022-04-29

Family

ID=81273504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210054856.1A Pending CN114419241A (zh) 2022-01-18 2022-01-18 一种三维模型构建方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114419241A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115311397A (zh) * 2022-08-09 2022-11-08 北京字跳网络技术有限公司 用于图像渲染的方法、装置、设备和存储介质
CN116561081A (zh) * 2023-07-07 2023-08-08 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115311397A (zh) * 2022-08-09 2022-11-08 北京字跳网络技术有限公司 用于图像渲染的方法、装置、设备和存储介质
CN116561081A (zh) * 2023-07-07 2023-08-08 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品
CN116561081B (zh) * 2023-07-07 2023-12-12 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、存储介质及程序产品

Similar Documents

Publication Publication Date Title
US20230053462A1 (en) Image rendering method and apparatus, device, medium, and computer program product
El-Hakim et al. A multi-sensor approach to creating accurate virtual environments
US9384596B2 (en) Visualization of obscured objects in 3D space
CN105336003B (zh) 结合gpu技术实时流畅绘制出三维地形模型的方法
US7940279B2 (en) System and method for rendering of texel imagery
CN107358649B (zh) 地形文件的处理方法和装置
US7884825B2 (en) Drawing method, image generating device, and electronic information apparatus
US10593096B2 (en) Graphics processing employing cube map texturing
CN114419241A (zh) 一种三维模型构建方法、装置及存储介质
EP3586269A1 (en) Image reconstruction for virtual 3d
US9093006B2 (en) Image shader using style attribute references
CN109979013B (zh) 三维人脸贴图方法及终端设备
US20110175924A1 (en) System and Method for Image-Based Rendering with Object Proxies
CN108062788A (zh) 一种三维重建方法、装置、设备和介质
KR102317182B1 (ko) 3차원 객체와 2차원 배경을 이용한 합성 이미지 생성 장치
KR20170031479A (ko) 경로 스트로크를 수행하는 방법 및 장치
CN111861873B (zh) 仿真图像的生成方法和装置
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
US9092907B2 (en) Image shader using two-tiered lookup table for implementing style attribute references
CN116385619A (zh) 对象模型渲染方法、装置、计算机设备和存储介质
Kang et al. Automatic texture reconstruction of 3d city model from oblique images
EP3437072B1 (en) System and method for rendering points without gaps
Oliveira et al. Incremental texture mapping for autonomous driving
CN111325783A (zh) 一种基于WebGIS的可视域分析方法及装置
Xu et al. Visualization methods of vector data on a Digital Earth System

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