CN115661327B - Bim平台图形引擎的分布式虚拟节点渲染方法及装置 - Google Patents
Bim平台图形引擎的分布式虚拟节点渲染方法及装置 Download PDFInfo
- Publication number
- CN115661327B CN115661327B CN202211578214.8A CN202211578214A CN115661327B CN 115661327 B CN115661327 B CN 115661327B CN 202211578214 A CN202211578214 A CN 202211578214A CN 115661327 B CN115661327 B CN 115661327B
- Authority
- CN
- China
- Prior art keywords
- rendering
- model
- bim
- virtual node
- task
- 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
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本公开提供了一种BIM平台图形引擎的分布式虚拟节点渲染方法及装置,涉及三维模型渲染领域。具体步骤为:获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点;在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据所述渲染指令对所述模型实体进行渲染;获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果。本公开通过多个虚拟节点对模型实体进行渲染,实现了同时对BIM模型构件渲染任务的并发处理,避免单线程处理任务降低处理速度,提高了处理BIM渲染任务的效率。
Description
技术领域
本公开涉及三维模型渲染领域,尤其涉及BIM平台图形引擎的分布式虚拟节点渲染方法及装置。
背景技术
相关技术中,图形引擎是建筑信息模型(Building Information Modelling ,BIM)中三维图形平台的核心技术,是一种聚合了图形绘制能力的功能组件,可解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。目前 BIM图形引擎的接口在渲染过程中需要串行进行,这样导致渲染过程较慢,渲染结果生成的速度较慢。
发明内容
本公开提供一种BIM平台图形引擎的分布式虚拟节点渲染方法及装置,以至少解决相关技术中渲染结果生成的速度较慢的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种BIM平台图形引擎的分布式虚拟节点渲染方法,包括:
获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点;
在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据所述渲染指令对所述模型实体进行渲染;
获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果。
可选的,所述根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点的步骤具体包括:
获取所述BIM模型构件渲染任务中的元数据标识,并确定所述元数据标识中渲染子任务对应的标识;
获取各个所述渲染子任务对应的模型实体的数量,并确定所述BIM模型构件渲染任务对应的模型实体的总数量。
可选的,所述根据所述渲染指令对所述模型实体进行渲染的步骤具体包括:
接收渲染指令,并获取所述渲染指令中各个渲染管线的渲染状态;
根据所述渲染管线的渲染状态和所述几何数据对所述模型实体进行渲染。
可选的,所述获取所述虚拟节点对应的模型实体的渲染结果状态的步骤具体包括:
启动异步任务,通过所述异步任务查询所述虚拟节点对应模型实体的渲染结果状态,其中,所述渲染结果状态包括:操作未开始、操作已完成和操作超时。
可选的,所述根据所述渲染结果状态聚合所述渲染结果的步骤具体包括:
获取状态为所述操作已完成的渲染结果状态对应的渲染结果,并聚合所述渲染结果。
根据本公开实施例的第二方面,提供一种BIM平台图形引擎的分布式虚拟节点渲染装置,包括:
任务获取模块,用于获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点;
渲染模块,用于在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据所述渲染指令对所述模型实体进行渲染;
聚合模块,用于获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果。
根据本公开实施例的第三方面,提供一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面中任一项所述的BIM平台图形引擎的分布式虚拟节点渲染方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述第一方面中任一项所述的BIM平台图形引擎的分布式虚拟节点渲染方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述第一方面中任一项所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
将BIM构件渲染任务分为多个模型实体,根据虚拟节点分别处理模型实体的渲染任务,并行地对渲染任务进行处理,避免串行处理渲染任务的速度较慢,提高了渲染任务的处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图。
图2是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图。
图3是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图。
图4是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图。
图5是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染装置的框图。
图6是根据一示例性实施例示出的一种装置的框图。
图7是根据一示例性实施例示出的一种装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的本公开的一些方面相一致的装置和方法的例子。
BIM(建筑信息模型)为近年来建筑信息化领域核心的理念之一,其数据的基础即为建筑的三维信息模型。相比于传统的二维设计、绘图,BIM技术全面利用三维图形技术,以建筑物(建筑构件、建筑整体)的三维图形为载体进一步挂接各种建筑信息参数,形成建筑信息模型,然后进行建筑物、甚至构件的全生命周期管理。可以说,三维图形是BIM技术的肌肉与皮肤,直观的三维图形表达与处理能有效帮助BIM关键应用的落地,实现其价值,譬如建筑模型的可视化、碰撞检测、5D虚拟施工等。这些应用很难想象在非图形、或者二维图形的世界中完成。
目前困扰BIM行业的模型渲染技术的一个难点在于,模型规模体量庞大,尤其对于施工阶段的模型渲染来说,由于承接了各个设计源端的模型数据,包括全楼层、全专业的模型,数量相较一般的三维图形渲染系统来说,其体量早已远远超过了其渲染引擎所能承受的极限。此外,对于BIM行业的应用来说,其模型的精度也非常重要,即又要保证模型显示的正确性,也要在细部观察时不能丢失模型显示的相关细节。
在渲染过程的性能主要取决于图形引擎,图形引擎是BIM三维图形平台的核心技术,是一种聚合了图形绘制能力的功能组件,可解决场景构造、对象处理、场景渲染、事件处理、碰撞检测等问题。目前,大多数BIM图形引擎的接口需要串行进行,无法做并发调用,导致上层应用操作卡顿、响应迟缓。同时,现有BIM模型的几何数据包含了模型的全局边界信息、单个构件的边界信息、单个构件的投影矩阵数据、单个构件的网格数据(含顶点数据,三角索引数据,网格发现数据和网格面着色数据)等大量的模型信息,使得BIM平台图形引擎的渲染数据量巨大,数据的加载速度极为缓慢,完整地渲染整个模型会消耗巨大的硬件资源。如何有效地解决图形引擎接口并发调用及BIM平台图形引擎的大数据量渲染问题成为新的技术挑战。
图1是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图,如图1所示,所述方法包括以下步骤。
步骤101,获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点;
本申请实施例应用于执行渲染任务的后端服务器中,在应用过程中,前端的APP发送BIM模型构件渲染任务给后端,所述BIM模型构件渲染任务中包含多个模型实体,需要对模型实体进行渲染生成三维可视化的模型实体。本申请可以并行处理多个BIM模型构件渲染任务,所以需要获取各个BIM模型构件渲染任务对应的模型实体的数量并相加以获取模型实体的总数量。
创建多个虚拟节点来进行渲染,所述虚拟节点为计算节点,可以对模型实体进行计算渲染并生成渲染结果,每个节点分配一个或多个模型实体的渲染任务。
步骤102,在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(Graphics Processing Unit ,GPU)的内存空间中,根据所述渲染指令对所述模型实体进行渲染;
本申请实施例中,将渲染模型实体所需的几何数据在所述虚拟节点中生成,并将所述几何数据到图形处理器(GPU)的内存空间中,这样就完成了渲染的准备工作。在接收到渲染指令后,所有的虚拟节点即可从内存空间中选取对应的几何数据进行计算渲染,以生成可视化的模型实体。
在一种可能的实施例中,所述几何数据包括模型实体的类型(放样、拉伸体、融合体、旋转体);模型实体的草图平面数据;草图平面中的体轮廓线数据。其中,放样是将一个二维形体对象作为沿某个路径的剖面,而形成复杂的三维对象,同一路径上可在不同的段给予不同的形体。我们可以利用放样来实现很多复杂模型的构建。拉伸体为将一个二维形体对象沿某个方向拉伸形成的三维对象,拉伸的方向不能可二维形体处于同一平面。融合体为将多个三维体融合在一起得到的三维对象。旋转体为将一个二维形体对象沿某个旋转轴进行一定角度的旋转生成的三维对象。在BIM平台中,需要将草图平面的二维形体经过一定的变换来生成三维物体,即模型实体。
步骤103,获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果。
本申请实施例中,后端会定时检测虚拟节点对应模型实体的渲染结果状态,所述渲染结果状态表征了对模型实体的渲染运算是否结束,将渲染结束的模型实体的渲染结果聚合起来,
本申请实施例通过将BIM构件渲染任务分为多个模型实体,根据虚拟节点分别处理模型实体的渲染任务,并行地对渲染任务进行处理,避免串行处理渲染任务的速度较慢,提高了渲染任务的处理效率。
图2是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图,如图2所示,图1中的步骤101具体包括以下步骤。
步骤201,获取所述BIM模型构件渲染任务中的元数据标识,并确定所述元数据标识中渲染子任务对应的标识;
本申请实施例中,所述BIM模型构件渲染任务中包含多个元数据标识,元数据标识携带着渲染任务中的各项信息,其中一部分元数据标识用于指示各个渲染子任务。
在一种可能的实施例中,BIM模型构件渲染任务为渲染大楼模型的任务,分为多个渲染子任务,其中一个子任务为渲染大楼中各种窗户对应模型实体的任务,令一个子任务为渲染大楼中楼梯的模型实体的任务。
步骤202,获取各个所述渲染子任务对应的模型实体的数量,并确定所述BIM模型构件渲染任务对应的模型实体的总数量。
本申请实施例中,各个渲染子任务对应一定数量的模型实体渲染任务,将各个渲染子任务对应的模型实体的数量相加即可获取需要渲染的模型实体的总数量,以方便将模型实体分配给各个虚拟节点。
图3是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图,如图3所示,图1中的步骤101具体包括以下步骤。
步骤301,接收渲染指令,并获取所述渲染指令中各个渲染管线的渲染状态;
本申请实施例中,渲染模型实体时,需要通过接收前端发送的渲染指令来设置渲染管线对应的渲染状态,渲染管线用于实现对模型实体进行特定效果的渲染;渲染状态用于控制虚拟节点在渲染管线对应的渲染行为,比如设置绑定纹理、打开深度测试、设置雾效等。根据渲染指令虚拟节点才可以开始对模型实体进行渲染。
在一种可能的实施例中,渲染状态分成两个部分,渲染属性(attribute)和渲染模式(mode)。渲染属性也就是控制渲染特性的状态变量,例如雾的颜色或者混合颜色都是渲染属性。而渲染模式是指渲染的某个功能,用程序可以设置模式量以允许或禁止某个功能,例如纹理映射、灯光等,而渲染属性是这个功能的控制变量和参数。
步骤302,根据所述渲染管线的渲染状态和所述几何数据对所述模型实体进行渲染。
本申请实施例中,获取所述渲染状态后,虚拟即可在各个渲染管线中按照对应的渲染状态根据几何数据进行渲染已生成模型实体的可视化效果。
可选的,所述获取所述虚拟节点对应的模型实体的渲染结果状态的步骤具体包括:
启动异步任务,通过所述异步任务查询所述虚拟节点对应模型实体的渲染结果状态,其中,所述渲染结果状态包括:操作未开始、操作已完成和操作超时。
本申请实施例中,在渲染任务进行过程中,如果执行的为同步任务,则需要等待虚拟节点返回对应的渲染结果后才能进行后续的渲染任务,效率较低。所以本申请采用异步任务,查询虚拟节点对应模型实体的渲染结果状态,所述状态包括:deferred:表征异步操作还没开始; ready:表征异步操作已经完成; timeout:表征异步操作超时。
可选的,所述根据所述渲染结果状态聚合所述渲染结果的步骤具体包括:
获取状态为所述操作已完成的渲染结果状态对应的渲染结果,并聚合所述渲染结果。
本申请实施例中,通过查询异步操作的已经完成状态,将已完成的渲染结果聚合并进行环境、灯光渲染的后处理,提高了渲染任务的处理效率。
图4是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染方法的流程图,如图4所示,所述方法中执行主体包括APP、图像3D接口模块、渲染虚拟节点模块和渲染管理节点模块,所述方法包括以下步骤。
步骤401,图形3D接口模块接收BIM模型构件的渲染任务。
用户在前端APP中进行指示BIM模型构件可视化的操作,APP将BIM模型构件的渲染任务发送至后端的BIM平台图形引擎加载图形3D接口模块,后端通过哈希算法获取并缓存BIM模型构件的渲染任务,并通过消息队列将解析任务请求转发给管理节点模块。
步骤402,管理节点模块解析步骤401中接收的BIM模型构件渲染任务。
BIM平台图形引擎加载管理节点模块并创建一个管理节点负责所有虚拟节点运行状态的监控和维护。管理节点通过BIM模型元数据标识分析BIM模型构件渲染任务,计算渲染数据所有实体数量。管理节点加载虚拟节点模块,通过实体数量创建对应比例的虚拟节点数,对虚拟节点进行负载均衡。
步骤403,虚拟节点模块执行步骤402中已解析的BIM模型实体渲染。
根据步骤2中所分配的虚拟节点通过BIM模型实体对象形成几何数据,加载BIM模型几何数据到图形处理器(GPU)显存中,并通过渲染命令队列响应图形引擎接口模块渲染指令,管理渲染管线,最后通过帧缓存队列把渲染结果返回给图形3D接口模块。
步骤404,图形3D接口模块聚合步骤3虚拟节点的渲染结果。
图形3D接口模块通过启动一个异步任务和访问异步操作结果的机制对象查询虚拟节点的渲染结果状态,通过查询异步操作的已经完成状态实现最后一级的渲染结果聚合并进行环境、灯光渲染的后处理,并由图形3D接口模块将聚合的渲染结果返回给APP,用户即可在APP上看到BIM模型构建的三维可视化展示。
图5是根据一示例性实施例示出的一种BIM平台图形引擎的分布式虚拟节点渲染装置,所述装置500包括:
任务获取模块510,用于获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点;
渲染模块520,用于在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据所述渲染指令对所述模型实体进行渲染;
聚合模块530,用于获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(I/ O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/ O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图7是根据一示例性实施例示出的一种装置700的框图。装置700可以被提供为一服务器。参照图7,装置700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述方法。
装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口750被配置为将装置700连接到网络,和一个输入输出(I/O)接口758。装置700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM或类似
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (4)
1.一种BIM平台图形引擎的分布式虚拟节点渲染方法,其特征在于,包括:
获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点,其中,每个虚拟节点分配一个或多个所述模型实体的渲染任务,所述BIM模型构件渲染任务包含多个模型实体;
在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据渲染指令对所述模型实体进行渲染,其中,所述几何数据包括所述模型实体的类型和所述模型实体的草图平面数据,所述模型实体的类型包括放样、拉伸体、融合体及旋转体,所述放样是将一个二维形体对象作为沿某个路径的剖面,而形成复杂的三维对象,同一路径上在不同的段给予不同的形体,所述拉伸体为将一个二维形体对象沿某个方向拉伸形成的三维对象,拉伸的方向不能和二维形体处于同一平面,所述融合体为将多个三维体融合在一起得到的三维对象,所述旋转体为将一个二维形体对象沿某个旋转轴进行一定角度的旋转生成的三维对象;
获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果,其中,所述渲染结果状态用于表征对所述模型实体的渲染运算是否结束;
所述根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点的步骤具体包括:
获取所述BIM模型构件渲染任务中的元数据标识,并确定所述元数据标识中渲染子任务对应的标识,其中,所述BIM模型构件渲染任务中包含多个元数据标识,所述元数据标识携带着所述渲染任务中的各项信息,其中一部分元数据标识用于指示各个所述渲染子任务;
获取各个所述渲染子任务对应的模型实体的数量,并确定所述BIM模型构件渲染任务对应的模型实体的总数量;
所述根据所述渲染指令对所述模型实体进行渲染的步骤具体包括:
接收渲染指令,并获取所述渲染指令中各个渲染管线的渲染状态,其中,所述渲染管线用于实现对所述模型实体进行渲染,所述渲染状态用于控制所述虚拟节点在所述渲染管线对应的渲染行为;
根据所述渲染管线的渲染状态和所述几何数据对所述模型实体进行渲染;
所述获取所述虚拟节点对应的模型实体的渲染结果状态的步骤具体包括:
启动异步任务,通过所述异步任务查询所述虚拟节点对应模型实体的渲染结果状态,其中,所述渲染结果状态包括:操作未开始、操作已完成和操作超时;
所述根据所述渲染结果状态聚合所述渲染结果的步骤具体包括:
获取状态为所述操作已完成的渲染结果状态对应的渲染结果,并聚合所述渲染结果。
2.一种BIM平台图形引擎的分布式虚拟节点渲染装置,其特征在于,包括:
任务获取模块,用于获取BIM模型构件渲染任务,根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点,其中,每个虚拟节点分配一个或多个所述模型实体的渲染任务,所述BIM模型构件渲染任务包含多个模型实体;
渲染模块,用于在所述虚拟节点中生成所述模型实体的几何数据,并加载所述几何数据到图形处理器(GPU)的内存空间中,根据渲染指令对所述模型实体进行渲染,其中,所述几何数据包括所述模型实体的类型和所述模型实体的草图平面数据,所述模型实体的类型包括放样、拉伸体、融合体及旋转体,所述放样是将一个二维形体对象作为沿某个路径的剖面,而形成复杂的三维对象,同一路径上在不同的段给予不同的形体,所述拉伸体为将一个二维形体对象沿某个方向拉伸形成的三维对象,拉伸的方向不能和二维形体处于同一平面,所述融合体为将多个三维体融合在一起得到的三维对象,所述旋转体为将一个二维形体对象沿某个旋转轴进行一定角度的旋转生成的三维对象;
聚合模块,用于获取所述虚拟节点对应的模型实体的渲染结果状态,根据所述渲染结果状态聚合所述渲染结果,其中,所述渲染结果状态用于表征对所述模型实体的渲染运算是否结束;
所述根据所述BIM模型构件渲染任务确定模型实体的数量,并根据所述模型实体的总数量创建对应的虚拟节点的步骤具体包括:
获取所述BIM模型构件渲染任务中的元数据标识,并确定所述元数据标识中渲染子任务对应的标识,其中,所述BIM模型构件渲染任务中包含多个元数据标识,所述元数据标识携带着所述渲染任务中的各项信息,其中一部分元数据标识用于指示各个所述渲染子任务;
获取各个所述渲染子任务对应的模型实体的数量,并确定所述BIM模型构件渲染任务对应的模型实体的总数量;
所述根据所述渲染指令对所述模型实体进行渲染的步骤具体包括:
接收渲染指令,并获取所述渲染指令中各个渲染管线的渲染状态,其中,所述渲染管线用于实现对所述模型实体进行渲染,所述渲染状态用于控制所述虚拟节点在所述渲染管线对应的渲染行为;
根据所述渲染管线的渲染状态和所述几何数据对所述模型实体进行渲染;
所述获取所述虚拟节点对应的模型实体的渲染结果状态的步骤具体包括:
启动异步任务,通过所述异步任务查询所述虚拟节点对应模型实体的渲染结果状态,其中,所述渲染结果状态包括:操作未开始、操作已完成和操作超时;
所述根据所述渲染结果状态聚合所述渲染结果的步骤具体包括:
获取状态为所述操作已完成的渲染结果状态对应的渲染结果,并聚合所述渲染结果。
3.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1所述的BIM平台图形引擎的分布式虚拟节点渲染方法。
4.一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1所述的BIM平台图形引擎的分布式虚拟节点渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211578214.8A CN115661327B (zh) | 2022-12-09 | 2022-12-09 | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211578214.8A CN115661327B (zh) | 2022-12-09 | 2022-12-09 | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115661327A CN115661327A (zh) | 2023-01-31 |
CN115661327B true CN115661327B (zh) | 2023-05-30 |
Family
ID=85017463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211578214.8A Active CN115661327B (zh) | 2022-12-09 | 2022-12-09 | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115661327B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116347003B (zh) * | 2023-05-30 | 2023-08-11 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种虚拟灯光实时渲染方法及装置 |
CN116340368B (zh) * | 2023-05-30 | 2023-07-21 | 壹仟零壹艺网络科技(北京)有限公司 | 一种用于bim数据可视化的缓存优化方法 |
CN116414316B (zh) * | 2023-06-08 | 2023-12-22 | 北京掌舵互动科技有限公司 | 基于数字城市中的bim模型的虚幻引擎渲染方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424202A (zh) * | 2017-05-16 | 2017-12-01 | 山东师范大学 | 基于pbrt的大规模三维群体表演动画并行渲染方法 |
CN110738721A (zh) * | 2019-10-12 | 2020-01-31 | 四川航天神坤科技有限公司 | 基于视频几何分析的三维场景渲染加速方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117284B2 (en) * | 2012-12-19 | 2015-08-25 | Nvidia Corporation | Asynchronous compute integrated into large-scale data rendering using dedicated, separate computing and rendering clusters |
CN111797153A (zh) * | 2020-07-01 | 2020-10-20 | 广联达科技股份有限公司 | Bim模型预览方法、装置、计算机设备和可读存储介质 |
CN111951363A (zh) * | 2020-07-16 | 2020-11-17 | 广州玖的数码科技有限公司 | 一种基于云算链的渲染方法、系统及存储介质 |
CN112001018A (zh) * | 2020-08-25 | 2020-11-27 | 成都威爱新经济技术研究院有限公司 | 一种基于云渲染的高效虚拟仿真实验平台测试方法 |
-
2022
- 2022-12-09 CN CN202211578214.8A patent/CN115661327B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424202A (zh) * | 2017-05-16 | 2017-12-01 | 山东师范大学 | 基于pbrt的大规模三维群体表演动画并行渲染方法 |
CN110738721A (zh) * | 2019-10-12 | 2020-01-31 | 四川航天神坤科技有限公司 | 基于视频几何分析的三维场景渲染加速方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115661327A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115661327B (zh) | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 | |
KR20230019975A (ko) | 이미지 프로세싱 sdk에서 사용하기 위한 인터페이스 캐러셀 | |
KR20230021113A (ko) | 이미지 프로세싱을 위한 소프트웨어 개발 키트 | |
US20230168865A1 (en) | Software development kit engagement monitor | |
US11743340B2 (en) | Deep linking to augmented reality components | |
US20200402321A1 (en) | Method, electronic device and storage medium for image generation | |
US20220261533A1 (en) | Decoupling website service from presentation layer | |
EP4165503A1 (en) | Bidirectional bridge for web view | |
CN114677386A (zh) | 特效图像处理方法、装置、电子设备及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
CN110045958A (zh) | 纹理数据生成方法、装置、存储介质及设备 | |
CN110659024B (zh) | 图形资源转换方法、装置、电子设备及存储介质 | |
CN110334027B (zh) | 游戏画面测试方法和装置 | |
WO2023220163A1 (en) | Multi-modal human interaction controlled augmented reality | |
WO2017092019A1 (zh) | 根据场景改变图形处理分辨率的方法和便携电子设备 | |
US20230087476A1 (en) | Methods and apparatuses for photorealistic rendering of images using machine learning | |
WO2022110754A1 (zh) | 资源加载方法及装置、电子设备和存储介质及程序 | |
CN111192191A (zh) | 显示方法、装置及可读存储介质 | |
CN117893663B (zh) | 基于WebGPU的Web图形渲染性能优化方法 | |
US11948266B1 (en) | Virtual object manipulation with gestures in a messaging system | |
US20240087244A1 (en) | Cursor functionality for augmented reality content in messaging systems | |
US11995780B2 (en) | Shooting interaction using augmented reality content in a messaging system | |
US11894989B2 (en) | Augmented reality experience event metrics system | |
US20240087239A1 (en) | Sculpting augmented reality content using gestures in a messaging system | |
US20240087242A1 (en) | 3d cursor functionality for augmented reality content in messaging systems |
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 |