CN114168219B - 基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 - Google Patents
基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 Download PDFInfo
- Publication number
- CN114168219B CN114168219B CN202111445315.3A CN202111445315A CN114168219B CN 114168219 B CN114168219 B CN 114168219B CN 202111445315 A CN202111445315 A CN 202111445315A CN 114168219 B CN114168219 B CN 114168219B
- Authority
- CN
- China
- Prior art keywords
- model
- rendering
- node
- rendering state
- setting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备,其中方法包括:加载3DTiles模型数据;在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。本发明在OSG加载3DTiles模型数据时,通过更新视口中的可加载模型渲染状态集以及设置渲染状态属性,实现了子节点和父节点的同时加载,提升了3DTiles模型数据在OSG中的加载渲染显示速度,使模型展示效果更加流畅,并解决了子节点模型和父节点模型数据同时加载时相互重叠影响的问题。
Description
技术领域
本发明涉及OSG三维渲染领域,具体涉及一种基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备。
背景技术
传统OSG(OpenSceneGraph)三维渲染引擎中加载模型时,通过LOD(Levels ofDetail,多细节层次)方式实现分层加载,但会因网络速度或系统调度问题导致LOD节点数据加载慢,且在调度父节点和子节点渲染数据时,LOD父节点的替换是等待其所有子节点数据调度完成后才会一次性加载子节点,然后再替换父节点,导致调度渲染速度较慢。
并且,即便父节点和子节点同时加载,由于父节点和子节点所处LOD层级不同,所在LOD层级的三角格网面片不同、清晰度不同,导致存在父节点和子节点叠加显示问题,三维模型渲染显示效果不佳。
针对传统基于OSG三维引擎渲染调度中调度渲染速度较慢、父节点和子节点叠加显示的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种基于OSG渲染3DTiles模型的跨层调度方法及系统,以解决传统基于OSG三维引擎渲染调度中调度渲染速度较慢、父节点和子节点叠加显示的问题。
为了实现上述目的,本发明的第一方面提供了一种基于OSG渲染3DTiles模型的跨层调度方法,包括:
加载3DTiles模型数据;
在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。
可选地,所述加载3DTiles模型数据包括:
从预先设定的本地数据源或网络数据源中加载3DTiles模型数据。
可选地,所述在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集,包括:
将OSG中针对所述3DTiles模型数据中的每一帧对应一个渲染状态集;
在OSG帧循环中,每一帧更新当前视口中对应的一个所述渲染状态集。
可选地,所述可加载模型渲染状态集中模型节点的类型包括父节点和子节点;
所述根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,包括:
针对类型为父节点的模型节点,拷贝父节点渲染状态;
在所述拷贝父节点渲染状态之后,针对类型为子节点的模型节点,更新子节点渲染状态;
在所述更新子节点渲染状态之后,针对类型为父节点的模型节点,更新父节点渲染状态。
进一步地,所述拷贝父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
拷贝父节点并设置渲染状态属性;
设置模型裁剪方式为正面裁剪,进行反面渲染,并打开深度测试;
将模型颜色掩码ColorMask全部设置为false,不显示模型纹理颜色值;
设置模型渲染顺序参数为0,标准渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
将拷贝父节点添加到所述渲染队列中。
进一步地,所述更新子节点渲染状态包括:
清空上一帧中所述子节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
设置模型渲染顺序参数为1;
将子节点添加到所述渲染队列中。
进一步地,所述更新父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
设置模型渲染顺序参数为2;
将父节点添加到所述渲染队列中。
本发明的第二方面提供了一种基于OSG渲染3DTiles模型的跨层调度系统,包括:
加载单元,用于加载3DTiles模型数据;
更新单元,用于在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
渲染单元,用于根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行第一方面任意一项提供的基于OSG渲染3DTiles模型的跨层调度方法。
本发明的第四方面提供了一种电子设备,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行第一方面任意一项提供的基于OSG渲染3DTiles模型的跨层调度方法。
在本发明实施例提供的基于OSG渲染3DTiles模型的跨层调度方法中,首先加载3DTiles模型数据;然后在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;最后根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。本发明在OSG加载3DTiles模型数据时,通过更新视口中的可加载模型渲染状态集以及设置渲染状态属性,实现了子节点和父节点的同时加载,提升了3DTiles模型数据在OSG中的加载渲染显示速度,使模型展示效果更加流畅,并解决了子节点模型和父节点模型数据同时加载时相互重叠影响的问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于OSG渲染3DTiles模型的跨层调度方法流程示意图;
图2为本发明实施例提供的基于OSG渲染3DTiles模型的跨层调度系统框图;
图3为本发明实施例提供的电子设备框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本发明及其实施例,并非用于限定所指示的系统、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本发明中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个系统、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
传统OSG(OpenSceneGraph)三维渲染引擎中加载模型时,通过LOD(Levels ofDetail,多细节层次)方式实现分层加载,但会因网络速度或系统调度问题导致LOD节点数据加载慢,且在调度父节点和子节点渲染数据时,LOD父节点的替换是等待其所有子节点数据调度完成后才会一次性加载子节点,然后再替换父节点,导致调度渲染速度较慢;并且,即便父节点和子节点同时加载,由于父节点和子节点所处LOD层级不同,所在LOD层级的三角格网面片不同、清晰度不同,导致存在父节点和子节点叠加显示问题,三维模型渲染显示效果不佳。
为了解决上述问题,本发明实施例提供了一种基于OSG渲染3DTiles模型的跨层调度方法,如图1所示,该方法包括如下的步骤S101至步骤S103:
步骤S101:加载3DTiles模型数据;
具体的,所述步骤S101包括:
从预先设定的本地数据源或网络数据源中加载3DTiles模型数据。本发明实施里中的3DTiles模型数据支持从本地数据源加载或网络数据源加载。
步骤S102:在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
在OSG帧循环中,每帧更新当前视口中的可加载模型渲染状态集StateSet。
具体的,所述步骤S102包括:
将OSG中针对所述3DTiles模型数据中的每一帧对应一个渲染状态集;在OSG中同一个模型一帧内只能有一个渲染状态集;
在OSG帧循环中,每一帧更新当前视口中对应的一个所述渲染状态集。
步骤S103:根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。其中,设置渲染状态属性可以包括设置模板缓存参数、设置深度测试参数、设置模型正面/反面渲染、设置纹理颜色掩码和设置渲染顺序。
通过更新视口中的可加载模型渲染状态集以及设置渲染状态属性,可以实现处于不同LOD层级的子节点和父节点的跨层同时加载,提升了3DTiles模型数据在OSG中的加载渲染显示速度,使模型展示效果更加流畅;
并且,通过设置渲染状态属性可以解决子节点模型和父节点模型数据同时加载时相互重叠影响的问题。
具体的,所述步骤S103中的可加载模型渲染状态集中模型节点的类型包括父节点和子节点;
所述根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,包括:
针对类型为父节点的模型节点,拷贝父节点渲染状态;
在所述拷贝父节点渲染状态之后,针对类型为子节点的模型节点,更新子节点渲染状态;
在所述更新子节点渲染状态之后,针对类型为父节点的模型节点,更新父节点渲染状态。
由于OSG中同一个模型一帧内只能有一个渲染状态集,因此本发明实施例在场景中添加拷贝父节点并设置不同的参数,结合拷贝父节点渲染状态和更新父节点渲染状态,可以实现父节点的正反面不同渲染和遮挡顺序参数设置。
其中,所述拷贝父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
拷贝父节点并设置渲染状态属性;
设置模型裁剪方式为正面裁剪,进行反面渲染,并打开深度测试;
将模型颜色掩码ColorMask全部设置为false,不显示模型纹理颜色值;
设置模型渲染顺序参数为0,标准渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
具体的,在拷贝父节点渲染状态时,设置模板测试比较函数为ALWAYS,参考值和掩码值均为0x80。设置模板测试三种操作方法,其中的fail参数表示模板测试未经过时KEEP;zfail参数表示模板测试经过时KEEP,但深度测试未经过时该如何变化;zpass参数表示模板测试和深度测试REPLACE。设置模板测试通过时写入掩码标志0x80。
将拷贝父节点添加到所述渲染队列中。
其中,所述更新子节点渲染状态包括:
清空上一帧中所述子节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
具体的,在更新子节点渲染状态时,设置模板测试比较函数为GEQUAL,参考值为(0x80(2<<4)),掩码值为0x70。设置模板测试三种操作方法,其中的fail参数表示模板测试未经过时KEEP;zfail参数表示模板测试经过时KEEP,但深度测试未经过时该如何变化;zpass参数表示模板测试和深度测试REPLACE。设置模板测试通过时写入掩码标志0x800x70。
设置模型渲染顺序参数为1;
将子节点添加到所述渲染队列中。
其中,所述更新父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
具体的,在更新父节点渲染状态时,设置模板测试比较函数为GEQUAL,参考值为(0x80(1<<4)),掩码值为0x70。设置模板测试三种操作方法,其中的fail参数表示模板测试未经过时KEEP;zfail参数表示模板测试经过时KEEP,但深度测试未经过时该如何变化;zpass参数表示模板测试和深度测试REPLACE。设置模板测试通过时写入掩码标志0x800x70。
设置模型渲染顺序参数为2;
将父节点添加到所述渲染队列中。
在拷贝父节点渲染状态、更新子节点渲染状态和更新父节点渲染状态中,设置渲染状态属性时分别设置各自的模型裁剪方式,并设置模板缓存参数及先后顺序,依次设置模型渲染顺序参数分别为0、1和2,可以实现子节点的正面渲染,以及父节点的正反面不同渲染和遮挡顺序参数设置。
从以上的描述中,可以看出,本发明实现了如下技术效果:
通过更新视口中的可加载模型渲染状态集以及设置渲染状态属性,可以实现处于不同LOD层级的子节点和父节点的跨层同时加载,提升了3DTiles模型数据在OSG中的加载渲染显示速度,使模型展示效果更加流畅;
并且,通过设置渲染状态属性可以解决子节点模型和父节点模型数据同时加载时相互重叠影响的问题;
由于OSG中同一个模型一帧内只能有一个渲染状态集,因此在场景中添加拷贝父节点并设置不同的参数,可以实现父节点的正反面不同渲染和遮挡顺序参数设置。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种用于实施上述基于OSG渲染3DTiles模型的跨层调度方法的基于OSG渲染3DTiles模型的跨层调度系统,如图2所示,该系统包括:
加载单元21,用于加载3DTiles模型数据;
更新单元22,用于在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
渲染单元23,用于根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中。
本发明实施例还提供了一种电子设备,如图3所示,该电子设备包括一个或多个处理器31以及存储器32,图3中以一个处理器31为例。
该控制器还可以包括:输入装置33和输出装置34。
处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器31可以为中央处理器(Central Processing Unit,简称为CPU),处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,简称为DSP)、专用集成电路(Application Specific Integrated Circuit,简称为ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称为FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合,通用处理器可以是微处理器或者任何常规的处理器。
存储器32作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的控制方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的基于OSG渲染3DTiles模型的跨层调度方法。
存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服务器操作的处理装置的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置33可接收输入的数字或字符信息,以及产生与服务器的处理装置的用户设置以及功能控制有关的键信号输入。输出装置34可包括显示屏等显示设备。
一个或者多个模块存储在存储器32中,当被一个或者多个处理器31执行时,执行如图1所示的方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各电机控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,简称为ROM)、随机存储记忆体(Random AccessMemory,简称为RAM)、快闪存储器(Flash Memory,简称为FM)、硬盘(Hard Disk Drive,简称为HDD)或固态硬盘(Solid-State Drive,简称为SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (9)
1.一种基于OSG渲染3DTiles模型的跨层调度方法,其特征在于,包括:
加载3DTiles模型数据;
在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中,所述可加载模型渲染状态集中模型节点的类型包括父节点和子节点,
所述根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,包括:
针对类型为父节点的模型节点,拷贝父节点渲染状态,
在所述拷贝父节点渲染状态之后,针对类型为子节点的模型节点,更新子节点渲染状态,
在所述更新子节点渲染状态之后,针对类型为父节点的模型节点,更新父节点渲染状态。
2.根据权利要求1所述的方法,其特征在于,所述加载3DTiles模型数据包括:
从预先设定的本地数据源或网络数据源中加载3DTiles模型数据。
3.根据权利要求1所述的方法,其特征在于,所述在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集,包括:
将OSG中针对所述3DTiles模型数据中的每一帧对应一个渲染状态集;
在OSG帧循环中,每一帧更新当前视口中对应的一个所述渲染状态集。
4.根据权利要求1所述的方法,其特征在于,所述拷贝父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
拷贝父节点并设置渲染状态属性;
设置模型裁剪方式为正面裁剪,进行反面渲染,并打开深度测试;
将模型颜色掩码ColorMask全部设置为false,不显示模型纹理颜色值;
设置模型渲染顺序参数为0,标准渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
将拷贝父节点添加到所述渲染队列中。
5.根据权利要求1所述的方法,其特征在于,所述更新子节点渲染状态包括:
清空上一帧中所述子节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
设置模型渲染顺序参数为1;
将子节点添加到所述渲染队列中。
6.根据权利要求1所述的方法,其特征在于,所述更新父节点渲染状态包括:
清空上一帧中所述父节点的渲染状态设置;
开启节点的深度缓存,将模型颜色掩码ColorMask设置为true,显示模型纹理颜色值;
设置模型裁剪方式为背面裁剪,进行正面渲染;
开启模板测试,设置模板测试比较函数、参考值和掩码值,并在设置模板测试通过时写入掩码标志;
设置模型渲染顺序参数为2;
将父节点添加到所述渲染队列中。
7.一种基于OSG渲染3DTiles模型的跨层调度系统,其特征在于,包括:
加载单元,用于加载3DTiles模型数据;
更新单元,用于在OSG帧循环中,针对所述3DTiles模型数据中的每一帧,更新视口中的可加载模型渲染状态集;
渲染单元,用于根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,并将设置渲染状态属性后的模型节点添加到渲染队列中,所述可加载模型渲染状态集中模型节点的类型包括父节点和子节点,
所述根据所述可加载模型渲染状态集中模型节点的类型设置渲染状态属性,包括:
针对类型为父节点的模型节点,拷贝父节点渲染状态,
在所述拷贝父节点渲染状态之后,针对类型为子节点的模型节点,更新子节点渲染状态,
在所述更新子节点渲染状态之后,针对类型为父节点的模型节点,更新父节点渲染状态。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行权利要求1-6任意一项所述的基于OSG渲染3DTiles模型的跨层调度方法。
9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-6任意一项所述的基于OSG渲染3DTiles模型的跨层调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445315.3A CN114168219B (zh) | 2021-11-30 | 2021-11-30 | 基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445315.3A CN114168219B (zh) | 2021-11-30 | 2021-11-30 | 基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168219A CN114168219A (zh) | 2022-03-11 |
CN114168219B true CN114168219B (zh) | 2022-11-29 |
Family
ID=80482124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111445315.3A Active CN114168219B (zh) | 2021-11-30 | 2021-11-30 | 基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168219B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117496001B (zh) * | 2024-01-02 | 2024-04-26 | 埃洛克航空科技(北京)有限公司 | 一种渲染自定义几何体依附模型的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631925A (zh) * | 2015-12-29 | 2016-06-01 | 北京航天测控技术有限公司 | 基于osg三维渲染引擎预处理的三维场景生成方法及装置 |
CN106296785A (zh) * | 2016-08-09 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种图片渲染方法及图片渲染设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402390B (zh) * | 2020-02-20 | 2023-11-10 | 平安科技(深圳)有限公司 | 模型渲染方法、装置、设备及存储介质 |
CN113112579A (zh) * | 2021-04-13 | 2021-07-13 | 苍穹数码技术股份有限公司 | 渲染方法、装置、电子设备和计算机可读存储介质 |
-
2021
- 2021-11-30 CN CN202111445315.3A patent/CN114168219B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631925A (zh) * | 2015-12-29 | 2016-06-01 | 北京航天测控技术有限公司 | 基于osg三维渲染引擎预处理的三维场景生成方法及装置 |
CN106296785A (zh) * | 2016-08-09 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种图片渲染方法及图片渲染设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114168219A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140402B2 (en) | Parallel workflow finite element pre-processing apparatus and system | |
US20190196933A1 (en) | Data visual analysis method, system and terminal and computer readable storage medium | |
DE102014101392A1 (de) | Konfigurieren eines Geräts ausgehend von der Nähe zu anderen Geräten | |
CN114168219B (zh) | 基于OSG渲染3DTiles模型的跨层调度方法、系统及电子设备 | |
CN114170360B (zh) | 适用于多种地形数据的合并渲染方法、系统及电子设备 | |
CN107766310B (zh) | 一种网格单元格编辑方法及装置 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
CN104751507A (zh) | 图形内容渲染方法和装置 | |
WO2022016859A1 (zh) | 一种自动驾驶仿真渲染方法、装置、设备及可读介质 | |
CN103544727B (zh) | 一种基于预测分支的场景渲染优化方法、系统和移动终端 | |
WO2023142614A1 (zh) | 游戏对象的编辑方法、装置和电子设备 | |
CN109671147A (zh) | 基于三维模型的纹理贴图生成方法及装置 | |
CN108986017B (zh) | 图像特效处理方法、装置和计算机可读存储介质 | |
CN114418836B (zh) | 数据处理方法、装置、设备以及介质 | |
CN106708623A (zh) | 一种对象资源处理方法、装置及系统 | |
US11734163B2 (en) | Machine learning model full life cycle management framework | |
CN106648602A (zh) | 页面加载方法 | |
CN111291443A (zh) | 整车控制器软件的i/o模块模型自动生成方法、装置、设备及存储介质 | |
CN110709891A (zh) | 虚拟现实场景模型建立方法、装置、电子设备和存储介质 | |
US20150097832A1 (en) | System and method for mesh level of detail generation | |
CN116433816A (zh) | 一种提高web端canvas绘制性能的方法及装置 | |
WO2020050881A1 (en) | Anti-constraint configuration and enforcement for computer-aided design (cad) models | |
CN115311399A (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
CN109165067B (zh) | Android横竖屏数据同步方法、装置、终端及可读介质 | |
DE102020115892A1 (de) | Vorhersage eines kontakts für den nächsten anruf |
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 |