建筑信息模型场景渲染方法、装置和计算机设备与流程

文档序号:24618204发布日期:2021-04-09 20:22阅读:64来源:国知局
建筑信息模型场景渲染方法、装置和计算机设备与流程

本发明涉及建筑信息化技术领域,具体涉及一种建筑信息模型场景渲染方法、装置和计算机设备。



背景技术:

建筑信息模型(buildinginformationmodeling,简称bim)为近年来建筑信息化领域核心的理念之一,其数据的基础即为建筑的三维信息模型。相比于传统的二维设计、绘图,bim技术全面利用三维图形技术,以建筑物(建筑构件、建筑整体)的三维图形为载体进一步挂接各种建筑信息参数,形成建筑信息模型,然后进行建筑物、甚至构件的全生命周期管理。bim技术通过对建筑的数据化、信息模型整合,实现建筑模型的可视化,在提高生产效率、节约成本和缩短工期方面发挥重要作用。

对于三维图形渲染来说,所要渲染的对象可以称为构件,而构件的集合称为场景。由于bim要还原建筑的真实性,所以场景中往往包含建筑的各个方面,大到几十上百米尺寸的强梁板柱,小到固定用的螺丝螺帽,所以在整个场景中,构件的尺寸跨度往往非常大。在场景渲染过程中,对显示画面中距离观测点较远的构件或非重要构件,降低其面数和细节度可以大大提升渲染效率。

现有技术中提升渲染效率的通常做法有:

1)对非重要的构件进行删减。但在bim场景中删除了这些构件,会丧失bim应用最重要的真实性,还可能会影响用户的判断,更严重可能会导致后续基于bim出具的图纸出现错误,引起一连串的问题。

2)在用户操作时隐藏一些小构件,从而提升渲染效率。具体为:预先计算出每个构件占整个建筑的比率,即物占比,然后将这些构件按照物占比大小进行分类;在运行时,会在用户开始操作时隐藏掉一部分物占比较小的构件,这些构件一般个数比较多,但是物占比很小,所以被隐藏后运行效率大幅提升。这种方式的弊端也是显而易见的,比如,这些构件虽然物占比很小,但是因为数量巨大,所以一旦被隐藏,显示画面变化较大,用户能很容易感觉到场景内的构件变化。另外,当用户需要观察或操作一些物占比较小的构件时,若该构件已被隐藏,则操作无法进行。



技术实现要素:

本发明的目的在于,提供一种建筑信息模型场景渲染方法、装置和计算机设备,可以在保证bim的真实性的基础上,降低非重要构件的面数和细节度,提升渲染效率。

根据本发明的第一方面,本发明实施例提供了一种建筑信息模型场景渲染方法,包括如下步骤:获取场景构件的多个层次细节级别的建筑信息模型;获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比;以及根据预先配置的场景构件屏占比与建筑信息模型层次细节级别的对应关系,将与所获取的屏占比对应的层次细节级别的建筑信息模型显示至所述待渲染场景中。

在基于上述技术方案的基础上,还可以做进一步的改进。

在本发明的至少一些实施例中,所述的获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比的步骤进一步包括:获取所述场景构件的长方体包围盒;获取所述长方体包围盒的多个目标顶点在所述显示屏幕上的投影坐标;获取所述显示屏幕的屏幕高度,以及在所述显示屏幕的屏幕高度方向上所有所述投影坐标中的最大坐标值和最小坐标值;以及根据所述屏幕高度、所述最大坐标值、所述最小坐标值,计算出所述场景构件在所述屏幕高度方向上的占比,作为所述屏占比。

在本发明的至少一些实施例中,所述的获取场景构件的多个层次细节级别的建筑信息模型的步骤进一步包括:采用建筑信息模型引擎工具导出调用接口导出多个层次细节级别的建筑信息模型,所述建筑信息模型未删减构件。其中,场景构件屏占比越高,对应层次细节级别的建筑信息模型精度越高。

在本发明的至少一些实施例中,所述的获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比的步骤进一步包括:获取所述场景构件的长方体包围盒;获取所述长方体包围盒的多个目标顶点在所述显示屏幕上的投影坐标;获取所述显示屏幕的屏幕高度,以及在所述显示屏幕的屏幕高度方向上所有所述投影坐标中的最大坐标值和最小坐标值;以及根据所述屏幕高度、所述最大坐标值、所述最小坐标值,计算出所述场景构件在所述屏幕高度方向上的占比,作为所述屏占比。

根据本发明的第二方面,本发明实施例提供了一种建筑信息模型场景渲染装置,包括:模型获取单元,用于获取场景构件的多个层次细节级别的建筑信息模型;屏占比获取单元,用于获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比;以及显示控制单元,用于根据预先配置的场景构件屏占比与建筑信息模型层次细节级别的对应关系,将与所获取的屏占比对应的层次细节级别的建筑信息模型显示至所述待渲染场景中。

根据本发明的第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明任一实施例所提供的建筑信息模型场景渲染方法的步骤。

本发明的优点在于:本发明可以根据构件在显示屏幕中所占比重,使用对应级别的bim模型,降低非重要构件的面数和细节度,进而减少整个显示屏幕渲染的顶点数和三角面,大大提升渲染效率,在bim模型场景渲染中实现lod。相比于现有技术,本实施例所述方法保留了所有构件,由于不会删减构件(部分构件仅在屏占比较低时被隐藏,但并未被删除),因而保证了bim模型的真实性;基于构件在显示屏幕上的屏占比进行不同精度模型切换或隐藏,重要的构件在屏幕中的占比大,不会出现用户关注的构件被隐藏的情况;通过对非重要的构件显示精细度较低的网格模型,对于在整个显示屏幕中占比很低的构件进行隐藏,大大提升渲染效率。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1为本发明第一实施例提供的建筑信息模型场景渲染方法的步骤示意图;

图2为本发明第二实施例提供的获取场景构件屏占比的步骤示意图;

图3a~图3b为本发明根据屏占比显示对应建筑信息模型的示例图;

图4为本发明第三实施例提供的建筑信息模型场景渲染装置的架构示意图;

图5为本发明第四实施例提供的计算机设备的内部结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供的建筑信息模型场景渲染方法,可以适用于计算机设备中。所述计算机设备可以为智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理等具有安装画图应用程序的电子设备,本实施例对计算机设备的具体形式不做限定。

需要说明的是,本发明实施例提供的建筑信息模型场景渲染方法,其执行主体可以是基于bim的建筑信息模型场景渲染装置,所述装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部。下述方法实施例的执行主体以计算机设备为例来进行说明,以实现在保证bim的真实性的基础上,降低非重要构件的面数和细节度,提升渲染效率。同时,计算机设备可以通过高级计算机语言实现以下方法,上述高级计算机语言可包括csharp和javascript。

请参阅图1,其为本发明第一实施例提供的建筑信息模型场景渲染方法的步骤示意图。如图1所示,本实施例所述的建筑信息模型场景渲染方法包括如下步骤:步骤s1、获取场景构件的多个层次细节级别的建筑信息模型;步骤s2、获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比;以及步骤s3、根据预先配置的场景构件屏占比与建筑信息模型层次细节级别的对应关系,将与所获取的屏占比对应的层次细节级别的建筑信息模型显示至所述待渲染场景中。以下将进一步描述本实施例所述方法的每一步骤。

关于步骤s1,获取场景构件的多个层次细节级别的建筑信息模型。

在此步骤中,在计算机设备中,可以采用bim引擎工具,包括但不限于revit,sketchup等建筑类软件,导出调用接口(api)导出多个层次细节级别的建筑信息模型,所述建筑信息模型未删减构件。其中,revit是专为bim模型构建的系列软件。通过这些bim引擎工具,可以在导出bim模型时,导出多个不同精度(不同顶点数和/或不同三角面数)的bim模型。例如,采用revit软件导出api,可以提供20个层次细节级别的bim模型;当然,也可以用其它方法,通过降低bim模型渲染数据精度,以提供不同精度的bim模型。采用层次细节(levelofdetail,简称lod)技术,可以为场景构件的渲染数据生成不同细节粒度(层次细节级别)的bim模型,从而在渲染的时候可以根据需要选择相应层次细节级别的渲染数据对应的bim模型。

进一步的实施例中,所述多个层次细节级别的建筑信息模型为多个顶点数量不同的建筑信息模型。例如,可以采用revit软件导出4套顶点数量递减的bim模型,分别为:第一bim模型lod1:35932个顶点;第二bim模型lod2:25110个顶点;第三bim模型lod3:12535个顶点;第四bim模型lod4:4835个顶点。其中,模型lod1~lod4所表示的都是同一个构件,只是它们的顶点数不同,顶点数不同对应的模型精细程度不同。由于在用户视角,离显示屏幕较远的构件的细节原本就看不清,因此可以适当减少构件的顶点数,以降低模型精度。

关于步骤s2、获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比。

进一步的实施例中,所述步骤s2包括以下子步骤:步骤s21、获取所述场景构件的长方体包围盒;步骤s22、获取所述长方体包围盒的多个目标顶点在所述显示屏幕上的投影坐标;步骤s23、获取所述显示屏幕的屏幕高度,以及在所述显示屏幕的屏幕高度方向上所有所述投影坐标中的最大坐标值和最小坐标值;以及步骤s24、根据所述屏幕高度、所述最大坐标值、所述最小坐标值,计算出所述场景构件在所述屏幕高度方向上的占比,作为所述屏占比。获取场景构件屏占比的步骤示意图如图2所示。

进一步的实施例中,所述步骤s21中所述场景构件的长方体包围盒可以采用以下方式在程序运行前进行预处理获取:分别获取所述场景构件在空间直角坐标系的三个坐标轴的最小值顶点以及最大值顶点、构成所述场景构件的长方体包围盒(bounds)。即,bounds是能完全封闭构件的最小的三维包围盒,包围盒的三轴方向与空间直角坐标系的三个坐标轴对齐。空间直角坐标系是过空间定点o作三条互相垂直的数轴,它们都以o为原点,具有相同的单位长度;这三条数轴分别称为x轴、y轴、z轴,统称为坐标轴。需要说明的是,在计算机设备中,也可以采用bim引擎工具提供的方法调用方式,直接调用获取需要的bounds。

进一步的实施例中,所述步骤s22中的所述多个目标顶点为所述长方体包围盒的任一体对角线上的2个顶点,或为构成所述长方体包围盒的8个顶点。需要说明的是,在计算机设备中,可以采用bim引擎工具提供的方法调用方式,直接调用获取目标顶点相应空间坐标在显示屏幕上的投影坐标;也可以通过世界空间(worldspace)到用户视图空间(viewspace),再到屏幕空间(screenspace)的一系列的坐标空间矩阵变换,获取相应的投影坐标。具体坐标空间矩阵变换方式可参考现有数学和图形学基础知识,此处不再赘述。采用构成所述长方体包围盒的8个顶点可以较精确地表达长方体包围盒;而采用任一体对角线上的2个顶点来代替长方体包围盒的8个顶点来进行后续屏占比计算,可以获取相近的结果并显著减少运算量(可以减少大约75%的运算量)。

进一步的实施例中,所述步骤s24所述的计算屏占比具体可以为:计算最大坐标值和最小坐标值之间的距离差值,再用距离差值除于屏幕高度,计算结果即为场景构件在屏幕高度方向上的占比,也即屏占比。获取当前帧中场景构件的屏占比后,即可动态的设置构件的网格精细度(层次细节级别)。

关于步骤s3、根据预先配置的场景构件屏占比与建筑信息模型层次细节级别的对应关系,将与所获取的屏占比对应的层次细节级别的建筑信息模型显示至所述待渲染场景中。

进一步的实施例中,可以预先配置多组场景构件屏占比与建筑信息模型层次细节级别的对应关系;其中,场景构件屏占比越高,对应层次细节级别的建筑信息模型精度越高,从而可以根据所述步骤s2所获取的屏占比选择相应的建筑信息模型。

具体地,可以预先配置4组场景构件屏占比与建筑信息模型层次细节级别的对应关系,分别为:场景构件屏占比处于第一范围,对应第一层次细节级别建筑信息模型;场景构件屏占比处于第二范围,对应第二层次细节级别建筑信息模型;场景构件屏占比处于第三范围,对应第三层次细节级别建筑信息模型;场景构件屏占比处于第四范围,对应第四层次细节级别建筑信息模型;其中,所述第一层次细节级别、所述第二层次细节级别、所述第三层次细节级别、所述第四层次细节级别精度逐渐降低。

进一步的实施例中,可以预先配置场景构件屏占比小于预设占比阈值的场景构件隐藏。在用户视角,屏占比越小,说明构件离显示屏幕越远;由于离显示屏幕较远的构件的细节原本就看不清,因此可以适当减少构件的顶点数,以降低模型精度,从而提升渲染效率。当构件离显示屏幕远到一定程度(屏占比小于预设占比阈值),则可以判定为不可见,直接隐藏、不进行显示,从而提升渲染效率。

例如,配置场景构件屏占比处于80%~100%时,对应顶点数量为35932的第一层次细节级别建筑信息模型;场景构件屏占比处于50%~80%时,对应顶点数量为25110的第二层次细节级别建筑信息模型;场景构件屏占比处于20%~50%时,对应顶点数量为12535的第三层次细节级别建筑信息模型;场景构件屏占比处于5%~20%时,对应顶点数量为4835的第四层次细节级别建筑信息模型;其中,各范围中包括上限、不包括下限,例如场景构件屏占比为80%时,对应顶点数量为25110的第二层次细节级别建筑信息模型,而非对应顶点数量为35932的第一层次细节级别建筑信息模型。可以进一步配置场景构件屏占比处于0-5%时,对应顶点数量为0的隐藏建筑信息模型;即此时所述场景构件被隐藏,不显示于显示屏幕上。其中,各层次细节级别建筑信息模型所表示的都是同一个构件,只是它们的顶点数不同,顶点数不同对应的模型精细程度不同。比如,屏占比高的,采用高精细度的渲染数据,保持视觉的真实度;而屏占比低的,采用低精细度的渲染数据,节省渲染开销,提升渲染效率;如果屏占比非常小(小于预设占比阈值),可以判定一场景构件为不可见,直接跳过渲染、不进行显示。

需要说明的是,屏占比范围与相应层次细节级别建筑信息模型的顶点数量可以根据实际设计需要自定义设置。例如,还可以将屏占比划分为5个级别:0-20%、20%-40%、40%-60%、60%-80%、80%-100%,其中0-20%可以对应隐藏模型。

请一并参阅图3a~图3b,其为本发明根据屏占比显示对应建筑信息模型的示例图。假设显示屏幕31的屏幕高度为h0,h0取值为100;构件33(图示以椅子为例进行示意说明)的长方体包围盒32中,位于体对角线的两顶点为顶点a、顶点b;所述显示屏幕31的屏幕高度方向为y轴方向。预先将屏占比划分为5个级别:0-5%、5%~20%、20%~50%、50%~80%、80%~100%;其中,屏占比80%~100%对应顶点数量为35932的第一层次细节级别建筑信息模型lod1;屏占比50%~80%对应顶点数量为25110的第二层次细节级别建筑信息模型lod2;屏占比20%~50%对应顶点数量为12535的第三层次细节级别建筑信息模型lod3;屏占比5%~20%对应顶点数量为4835的第四层次细节级别建筑信息模型lod4;屏占比0-5%对应隐藏模型。

如图3a所示,假设所述长方体包围盒32的顶点a、顶点b在所述显示屏幕31上的投影坐标分别为a1(10,5,-20)、b1(80,95,-50);则,在所述显示屏幕31的屏幕高度方向上所有所述投影坐标中的最大坐标值为90、最小坐标值为0,最大坐标值和最小坐标值之间的距离差值h1=90;相应的屏占比为h1/h0=90/100=90%。屏占比90%对应第一范围80%~100%,则将对应顶点数量为35932的第一层次细节级别建筑信息模型lod1显示至所述待渲染场景中。即,当前帧中构件33屏占比较高,采用高精细度的渲染数据,保持视觉的真实度。

如图3b所示,假设所述长方体包围盒32的顶点a、顶点b在所述显示屏幕31上的投影坐标分别为a2(5,15,-10)、b2(40,50,-25);则,在所述显示屏幕31的屏幕高度方向上所有所述投影坐标中的最大坐标值为50、最小坐标值为35,最大坐标值和最小坐标值之间的距离差值h2=35;相应的屏占比为h2/h0=35/100=35%。屏占比35%对应第三范围20%~50%,则将对应顶点数量为12535的第三层次细节级别建筑信息模型lod3显示至所述待渲染场景中。即,当前帧中构件33屏占比较低,采用低精细度的渲染数据,节省渲染开销,提升渲染效率。

在其它实施例中,若所述长方体包围盒32的顶点a、顶点b在所述显示屏幕31上的投影坐标在屏幕高度方向上最大坐标值和最小坐标值之间的距离差值小于5,则相应的屏占比小于5%,对应第五范围0~5%,则在当前帧中将构件33隐藏。

本实施例所述方法,可以根据构件在显示屏幕中所占比重,使用对应级别的bim模型,降低非重要构件的面数和细节度,进而减少整个显示屏幕渲染的顶点数和三角面,大大提升渲染效率,在bim模型场景渲染中实现lod。相比于现有技术,本实施例所述方法保留了所有构件,由于不会删减构件(部分构件仅在屏占比较低时被隐藏,但并未被删除),因而保证了bim模型的真实性;基于构件在显示屏幕上的屏占比进行不同精度模型切换或隐藏,重要的构件在屏幕中的占比大,不会出现用户关注的构件被隐藏的情况;通过对非重要的构件显示精细度较低的网格模型,对于在整个显示屏幕中占比很低的构件进行隐藏,大大提升渲染效率。

基于同一发明构思,本发明还提供了一种建筑信息模型场景渲染装置。

请参阅图4,其为本发明第三实施例提供的建筑信息模型场景渲染装置的架构示意图。如图4所示,本实施例所述装置包括:模型获取单元41、屏占比获取单元42以及显示控制单元43。

所述模型获取单元41用于获取场景构件的多个层次细节级别的建筑信息模型。所述屏占比获取单元42用于获取当前帧中所述场景构件在待渲染场景对应显示屏幕中的屏占比。所述显示控制单元43用于根据预先配置的场景构件屏占比与建筑信息模型层次细节级别的对应关系,将与所获取的屏占比对应的层次细节级别的建筑信息模型显示至所述待渲染场景中。

本实施例提供的建筑信息模型场景渲染装置,可以执行上述方法实施例,其实现的原理和技术效果类似,在此不再赘述。关于建筑信息模型场景渲染装置的具体限定可以参见上文中对于建筑信息模型场景渲染方法的限定,在此不再赘述。上述建筑信息模型场景渲染装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以采用硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。

基于同一发明构思,本发明还提供了一种可以实现建筑信息模型场景渲染方法的计算机设备。

请参阅图5,其为本发明第四实施例提供的计算机设备的内部结构示意图。如图5所示,本实施例所述计算机设备50,包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,所述计算机设备50的处理器用于提供计算和控制能力。所述计算机设备50的存储器包括非易失性存储介质、内存储器。所述非易失性存储介质存储有操作系统和计算机程序。所述内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。所述计算机设备50的网络接口用于与外部的计算机设备通过网络连接通信。所述计算机程序被处理器执行时可以实现本发明建筑信息模型场景渲染方法的步骤。所述计算机设备50的显示屏可以是液晶显示屏或者oled显示屏,所述计算机设备50的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备50外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备50的限定,具体的计算机设备50可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,所述计算机设备50包括存储器和处理器,存储器中存储有计算机程序,所述处理器执行计算机程序时实现本发明建筑信息模型场景渲染方法的步骤。

在一个实施例中,还提供了一种存储介质。所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明建筑信息模型场景渲染方法的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,所述计算机程序在执行时,可包括如上述建筑信息模型场景渲染方法的实施例的流程。

本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)等。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1