CN114445537A - 模型处理方法、装置、电子设备和存储介质 - Google Patents
模型处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114445537A CN114445537A CN202111657081.9A CN202111657081A CN114445537A CN 114445537 A CN114445537 A CN 114445537A CN 202111657081 A CN202111657081 A CN 202111657081A CN 114445537 A CN114445537 A CN 114445537A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- rendering
- model data
- editing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- 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)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种模型处理方法、装置、电子设备和存储介质,应用于数据处理技术领域,其中,方法包括:获取待编辑模型的初始模型数据;调用第一线程获取用户对待编辑模型的编辑操作,确定编辑操作对应的编辑数据,基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型;调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,并基于第二渲染模型数据进行渲染得到第二渲染模型。以解决现有技术中,在渲染模型数据时,2D模型和3D模型的显示都是由主线程在当前屏幕渲染的,容易给主线程造成卡顿的问题。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种模型处理方法、装置、电子设备和存储介质。
背景技术
随着城市建设和计算机技术的快速发展,应用计算机完成建筑物的设计工作已经成为常用手段,并且从二维建筑图纸的设计逐渐转变为三维建筑模型的设计。
目前,为了方便开发人员建模,往往将建筑信息模型的二维效果和三维效果同时显示。在编辑2D模型数据时,可在界面另一区域中显示相应的3D模型效果图。同样,在编辑3D模型数据时,也可在界面的另一区域显示相应的2D模型效果图。
相关技术中,在渲染模型数据时,2D模型和3D模型的显示都是由主线程在当前屏幕渲染的,容易给主线程造成卡顿。
发明内容
本申请提供了一种模型处理方法、装置、电子设备和存储介质,用以解决现有技术中,在渲染模型数据时,2D模型和3D模型的显示都是由主线程在当前屏幕渲染的,容易给主线程造成卡顿的问题。
第一方面,本申请实施例提供了一种模型处理方法,包括:
获取待编辑模型的初始模型数据;
调用第一线程获取用户对所述待编辑模型的编辑操作,确定所述编辑操作对应的编辑数据,基于所述初始模型数据和所述编辑数据确定第一渲染模型数据,并基于所述第一渲染模型数据进行渲染得到第一渲染模型;
调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,并基于所述第二渲染模型数据进行渲染得到第二渲染模型。
可选的,所述调用第一线程确定所述编辑操作对应的编辑数据,包括:
调用所述第一线程基于所述编辑操作,确定所述用户对所述待编辑模型中编辑的目标构件;
获取对所述目标构件的调整数据;
基于所述调整数据和所述目标构件的初始构件数据,确定所述编辑数据。
可选的,所述调用第一线程确定所述编辑操作对应的编辑数据之后,还包括:
将所述编辑数据存储至预设的数据共享区;
所述调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,包括:
调用所述第二线程从所述数据共享区获取所述编辑数据,基于所述初始模型数据和所述编辑数据确定所述第二渲染模型数据。
可选的,所述调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,包括:
调用所述第二线程根据所述编辑数据对所述初始模型数据进行更新得到更新模型数据;
确定所述第二线程对应的渲染维度,所述渲染维度指示所述待编辑模型渲染后呈现的维度;
将所述更新模型数据转换为所述渲染维度的第二渲染模型数据。
可选的,所述渲染维度为三维时,所述将所述更新模型数据转换为所述渲染维度的第二渲染模型数据,包括:
获取所述待编辑模型的标高数据;
根据所述标高数据和所述更新模型数据确定所述第二渲染模型数据。
可选的,所述渲染维度为二维时,所述将所述更新模型数据转换为所述渲染维度的第二渲染模型数据,包括:
确定所述更新模型数据中的标高数据;
确定所述更新模型数据中除所述标高数据外的数据为所述第二渲染模型数据。
可选的,所述基于所述第二渲染模型数据进行渲染,包括:
将所述第二渲染模型数据在预设的缓存区进行渲染,得到渲染结果;
在屏幕中显示所述渲染结果。
第二方面,本申请实施例提供了一种模型处理装置,包括:
获取模块,用于获取待编辑模型的初始模型数据;
第一渲染模块,用于调用第一线程获取用户对所述待编辑模型的编辑操作,确定所述编辑操作对应的编辑数据,基于所述初始模型数据和所述编辑数据确定第一渲染模型数据,并基于所述第一渲染模型数据进行渲染得到第一渲染模型;
第二渲染模块,用于调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,并基于所述第二渲染模型数据进行渲染得到第二渲染模型。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的模型处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的模型处理方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,通过获取待编辑模型的初始模型数据;调用第一线程获取用户对待编辑模型的编辑操作,确定编辑操作对应的编辑数据,基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型;调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,并基于第二渲染模型数据进行渲染得到第二渲染模型。如此,在待编辑模型进行编辑后渲染时,通过不同的线程计算编辑数据以及渲染,从而能够达到在计算编辑数据的同时,同步进行渲染的效果,使得用户在执行编辑操作时,渲染画面不会因编辑而卡顿,使得渲染的画面更加流畅。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的模型处理方法的应用场景图;
图2为本申请一实施例提供的模型处理方法的流程图;
图3为本申请一实施例提供的模型处理装置的结构图;
图4为本申请一实施例提供的电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
建筑信息模型(BIM)是创建和管理建筑资产信息的整体流程。BIM基于由云平台支持的智能模型,将结构化、多领域数据整合在一起,以在其整个生命周期(从规划和设计到施工和运营)内生成资产的数字表示。
离屏渲染(offscreen-rendering)指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。即渲染的结果不会直接呈现到当前屏幕上,而是等待合适的时机才会被显示。
Postmessage:是Windows API(应用程序接口)中的一个常用函数,用于将一条消息放入到消息队列中。
根据本申请一实施例提供了一种模型处理方法。可选地,在本申请实施例中,上述模型处理方法可以应用于如图1所示的由终端101和服务器102所构成的硬件环境中。如图1所示,服务器102通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如视频服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器102提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。
本申请实施例的模型处理方法可以由服务器102来执行,也可以由终端101来执行,还可以是由服务器102和终端101共同执行。其中,终端101执行本申请实施例的模型处理方法,也可以是由安装在其上的客户端来执行。
以服务器执行本申请实施例的模型处理方法为例,图2是根据本申请实施例的一种可选的模型处理方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:
步骤201、获取待编辑模型的初始模型数据。
一些实施例中,待编辑模型可以是用户已经绘制完毕的建筑信息模型,也可以是用户正在绘制的建筑信息模型。
其中,初始模型数据可以是当前在服务器的显示端渲染的模型对应的模型数据。
其中,建筑信息模型可以是机场、火车站、汽车站、写字楼、居民楼、医院、博物馆、旅游景区、教堂、学校、公园等等项目的建筑图纸。
步骤202、调用第一线程获取用户对待编辑模型的编辑操作,确定编辑操作对应的编辑数据,基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型。
一些实施例中,用户对待编辑模型的编辑操作可以是用户在待编辑模型中增加或删除了其中的部分构件,或者是修改了待编辑模型中部分构件的参数信息。
示例性的,以待编辑模型为用户正在绘制的建筑信息模型,用户在绘制过程中,可以从预设的构件库中选择即将要绘制的构件,将该构件拖动到待编辑模型的编辑区,通过对该构件的平移、旋转以及构件参数的修改,完成对该构件的编辑操作。
一些实施例中,用户在显示界面对待编辑模型的编辑操作完成后,服务器可调用第一线程,通过第一线程确定该编辑操作对应的编辑数据。
其中,在服务器开始对模型进行处理时,会对服务器中的线程进行初始化,使服务器中的线程能够加载到相应的处理逻辑。其中,线程的数量可以依据实际情况进行设置,并在初始化时,为相应的进程加载对应的处理逻辑。另外,在线程初始化后,第一线程中会加载到初始模型数据。
具体的,第一线程为服务器中预先配置的线程,其作用主要用于计算编辑数据。
在模型编辑的过程中,对某一构件进行编辑后,可能存在其他构件与其具有位置关联,因此,该构件的编辑可能会影响到与其有位置关联的构件的构件参数,从而,第一线程确定的编辑数据中不仅包括了被编辑的目标构件的编辑数据,还包括了与目标构件具有关联关系的构件的编辑数据。
在一个可选实施例中,调用第一线程确定编辑操作对应的编辑数据,包括:
调用第一线程基于编辑操作,确定用户对待编辑模型中编辑的目标构件;获取对目标构件的调整数据;基于调整数据和目标构件的初始构件数据,确定编辑数据。
具体的,用户可以通过鼠标拖动待添加的构件,通过移动和旋转该构件,确定该待添加的构件在待编辑模型中的位置,从而第一线程能够根据用户对鼠标的操作数据获取到对应的编辑数据,即构件的位置数据和方位数据。并且,用户可能会在该待添加的构件的参数进行调整,例如调整其大小或者颜色等,从而第一线程能够根据用户对构件参数信息的修改确定对应的编辑数据,即构件的编辑后的参数信息。
进一步的,在得到编辑数据后,第一线程会基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型。
具体的,第一线程在计算得到编辑数据后,先根据编辑数据和初始模型数据确定第一渲染模型数据,进而,根据第一渲染模型数据在第一显示区域,按照第一线程对应的渲染维度,渲染第一渲染模型数据。
步骤203、调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,并基于第二渲染模型数据进行渲染得到第二渲染模型。
一些实施例中,在通过第一线程确定编辑数据后,服务器调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,从而依据第二渲染模型数据进行渲染。
如此,通过不同的线程,分别计算编辑数据以及渲染,从而能够达到在计算编辑数据的同时,同步进行渲染的效果,使得用户在执行编辑操作时,渲染画面不会因编辑而卡顿,使得渲染的画面更加流畅。
在一个可选实施例中,调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,包括:
调用第二线程根据编辑数据对初始模型数据进行更新得到更新模型数据;确定待编辑模型的渲染维度,渲染维度指示待编辑模型渲染后呈现的维度;将更新模型数据转换为渲染维度的第二渲染模型数据。
一些实施例中,在第一线程确定编辑数据后,第二线程获取该编辑数据,并依据该编辑数据更新初始模型数据,得到更新模型数据。由于在对模型渲染时,往往需要将2D效果和3D效果同时显示,因此,在得到更新模型数据后,在更新模型数据为二维模型数据时,确定待编辑模型的渲染维度为三维;在更新模型数据为三维模型数据时,确定待编辑模型的渲染维度为二维。
在确定待编辑模型的渲染维度后,便可以将更新模型数据转换为第二渲染模型数据,从而在渲染时,能够得到渲染维度的渲染效果。
进一步的,渲染维度为三维时,将更新模型数据转换为渲染维度的第二渲染模型数据,包括:
获取待编辑模型的标高数据;根据标高数据和更新模型数据确定第二渲染模型数据。
进一步的,渲染维度为二维时,将更新模型数据转换为渲染维度的第二渲染模型数据,包括:
确定更新模型数据中的标高数据;确定更新模型数据中除标高数据外的数据为第二渲染模型数据。
一些实施例中,二维模型数据对于三维模型数据而言多了一维,通过定义基础二维数据(包括点、线、面等),然后根据标高赋予二维的点线面有了高度信息,然后同步可以绘制筑3D的点线面,定义一类根据面和一个拉伸方向定义基础拉伸体结构,这样就可以表达一个三维的构件结构,更复杂的形体也是通过以上的基础数据组合而成,包括复杂一点的挖洞,属于构造形体中两个拉伸体的布尔运算,可以做交集并集补集等。
如此,通过标高数据实现二维模型数据和三维模型数据的转换。
在一个可选实施例中,调用第一线程确定编辑操作对应的编辑数据之后,还包括:
将编辑数据存储至预设的数据共享区;
进一步的,调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,包括:
调用第二线程从数据共享区获取编辑数据,基于初始模型数据和编辑数据确定第二渲染模型数据。
一些实施例中,通过设置数据共享区存储编辑数据,在第一线程计算编辑数据后,存储在数据共享区,从而第二线程在进行渲染时,能够直接从数据共享区获取到编辑数据,以便进一步进行模型渲染。
在一个可选实施例中,基于第二渲染模型数据进行渲染,包括:
将第二渲染模型数据在预设的缓存区进行渲染;渲染结果在屏幕中进行显示。
一些实施例中,通过将第二渲染模型数据在预设的数据缓存去进行渲染,实现了离屏渲染,从而,对用于而言,不会产生视觉上的卡顿。其中,第二渲染模型数据的渲染结果可以在屏幕中预设位置中进行显示,在根据编辑数据对初始模型数据更新后,得到的更新模型数据也会在屏幕中不同的位置进行渲染显示,从而实现了二维模型数据和三维模型数据同时显示的效果。
在一个具体实施例中,以初始模型数据为二维数据为例,本申请的模型处理方法,具体包括:
步骤1:预先在内存中设置绘制数据共享区以及创建一个新的缓存区(用于离屏渲染),该数据共享区用于存储2D编辑数据和3D编辑数据。
在模型编辑软件中,有两个窗口,一个为编辑窗口,一个为编辑模型对应的2D模型或3D模型的展示窗口,为防止编辑卡顿,为这两个窗口设置不同的进程,通过不同的进程对模型编辑数据进行分别计算、渲染,可防止卡顿。
其中,编辑窗口即为上述的更新模型数据显示的窗口,展示窗口即为上述的渲染模型数据的显示窗口。
步骤2:若当前编辑的数据为2D数据,则主线程(即上述第一线程)根据2D编辑数据对2D模型进行渲染,并将2D编辑数据存储到数据共享区。
编辑的的过程可以是用户先从构件库中选取一个构件,将构件拖动到编辑区的相应位置,同时,还可以在相应的构件参数信息编辑区对构件的某些参数进行调整。
2D编辑数据包括:选取的构件驱动参数信息和/或鼠标操作信息,步骤3:Worker线程(即上述的第二线程)从数据共享区获取2D编辑数据,对该2D编辑数据进行计算得到3D模型的数据。
步骤4:Worker线程将3D模型数据在新的缓存区进行渲染,并将渲染结果显示到屏幕的相应位置。
主进程将渲染后的模型展示在编辑窗口,worker进程将渲染后的模型展示在展示窗口。
其中,需要注意的是,本实施例可以在具备多核cpu的电脑上能启用多线程,以提高处理效率,因此,在进行模型处理前,可预先判断服务器是否具有多核cpu。
具体的,本发明采用云建模工具,开发人员在浏览器端操作软件进行建模。可在浏览器端判断是否具有多核cpu,然后就可以根据浏览器提供的webworker接口打开worker,并且在主线程中绘制场景,根据浏览器提供的离屏渲染接口,共享主线程中的绘制数据,这样是为了避免数据从主线程拷贝传递到worker线程中的时间损耗。
在交互部分,因为worker线程中并不操作UI(用户界面,User Interface)相关的信息,避免多个线程同时操作UI导致错乱,因此需要实现一个由主线程传递交互命令到worker线程中的通信事件,通过在主线程获取到鼠标点击的位置和移动的距离,传递到worker中(postmessage),然后在worker中计算移动前后模型的样子,在根据结果进行渲染,因为这一步是在离屏缓冲中进行的,因此不会对主线程中的渲染造成耗时卡顿,这样就达到了无卡顿在worker线程中交互3D模型。
在主线程中编辑2D模型数据,然后传输渲染数据到worker线程中进行3D渲染,从而避免3D渲染会因为受到主线程2D编辑而卡顿,并且通过在worker线程中模拟鼠标事件,达到在worker线程中交互3D模型。
其中,主线程和worker线程的触发,是通过启动服务器触发的,触发条件是因为两边的数据共享,改变一边的数据就会同步改变另一方的数据。由于离屏渲染本质就是数据共享渲染,再虚拟屏幕里面渲染。
由于在worker线程中不能获取到鼠标信息,本实施例中通过事件发布的方式把鼠标的坐标传到worker线程中,从而将编辑数据传递到3D中进行交互。worker本身具有发送消息携带数据的机制。
基于同一构思,本申请实施例中提供了一种模型处理装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图3所示,该装置主要包括:
获取模块301,用于第一获取模块,用于获取待编辑模型的初始模型数据;
第一渲染模块302,用于调用第一线程获取用户对待编辑模型的编辑操作,确定编辑操作对应的编辑数据,基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型;
第二渲染模块303,用于调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,并基于第二渲染模型数据进行渲染得到第二渲染模型。
基于同一构思,本申请实施例中还提供了一种电子设备,如图4所示,该电子设备主要包括:处理器401、存储器402和通信总线403,其中,处理器401和存储器402通过通信总线403完成相互间的通信。其中,存储器402中存储有可被处理器401执行的程序,处理器401执行存储器402中存储的程序,实现如下步骤:
获取待编辑模型的初始模型数据;
调用第一线程获取用户对待编辑模型的编辑操作,确定编辑操作对应的编辑数据,基于初始模型数据和编辑数据确定第一渲染模型数据,并基于第一渲染模型数据进行渲染得到第一渲染模型;
调用第二线程基于初始模型数据和编辑数据确定第二渲染模型数据,并基于第二渲染模型数据进行渲染得到第二渲染模型。
上述电子设备中提到的通信总线403可以时外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器402可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器401的存储装置。
上述的处理器401可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的模型处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种模型处理方法,其特征在于,包括:
获取待编辑模型的初始模型数据;
调用第一线程获取用户对所述待编辑模型的编辑操作,确定所述编辑操作对应的编辑数据,基于所述初始模型数据和所述编辑数据确定第一渲染模型数据,并基于所述第一渲染模型数据进行渲染得到第一渲染模型;
调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,并基于所述第二渲染模型数据进行渲染得到第二渲染模型。
2.根据权利要求1所述的模型处理方法,其特征在于,所述调用第一线程确定所述编辑操作对应的编辑数据,包括:
调用所述第一线程基于所述编辑操作,确定所述用户对所述待编辑模型中编辑的目标构件;
获取对所述目标构件的调整数据;
基于所述调整数据和所述目标构件的初始构件数据,确定所述编辑数据。
3.根据权利要求1所述的模型处理方法,其特征在于,所述调用第一线程确定所述编辑操作对应的编辑数据之后,还包括:
将所述编辑数据存储至预设的数据共享区;
所述调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,包括:
调用所述第二线程从所述数据共享区获取所述编辑数据,基于所述初始模型数据和所述编辑数据确定所述第二渲染模型数据。
4.根据权利要求1或3所述的模型处理方法,其特征在于,所述调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,包括:
调用所述第二线程根据所述编辑数据对所述初始模型数据进行更新得到更新模型数据;
确定所述第二线程对应的渲染维度,所述渲染维度指示所述待编辑模型渲染后呈现的维度;
将所述更新模型数据转换为所述渲染维度的第二渲染模型数据。
5.根据权利要求4所述的模型处理方法,其特征在于,所述渲染维度为三维时,所述将所述更新模型数据转换为所述渲染维度的第二渲染模型数据,包括:
获取所述待编辑模型的标高数据;
根据所述标高数据和所述更新模型数据确定所述第二渲染模型数据。
6.根据权利要求4所述的模型处理方法,其特征在于,所述渲染维度为二维时,所述将所述更新模型数据转换为所述渲染维度的第二渲染模型数据,包括:
确定所述更新模型数据中的标高数据;
确定所述更新模型数据中除所述标高数据外的数据为所述第二渲染模型数据。
7.根据权利要求1所述的模型处理方法,其特征在于,所述基于所述第二渲染模型数据进行渲染,包括:
将所述第二渲染模型数据在预设的缓存区进行渲染,得到渲染结果;
在屏幕中显示所述渲染结果。
8.一种模型处理装置,其特征在于,包括:
获取模块,用于获取待编辑模型的初始模型数据;
第一渲染模块,用于调用第一线程获取用户对所述待编辑模型的编辑操作,确定所述编辑操作对应的编辑数据,基于所述初始模型数据和所述编辑数据确定第一渲染模型数据,并基于所述第一渲染模型数据进行渲染得到第一渲染模型;
第二渲染模块,用于调用第二线程基于所述初始模型数据和所述编辑数据确定第二渲染模型数据,并基于所述第二渲染模型数据进行渲染得到第二渲染模型。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述存储器中所存储的程序,实现权利要求1-7任一项所述的模型处理方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的模型处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111657081.9A CN114445537A (zh) | 2021-12-30 | 2021-12-30 | 模型处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111657081.9A CN114445537A (zh) | 2021-12-30 | 2021-12-30 | 模型处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114445537A true CN114445537A (zh) | 2022-05-06 |
Family
ID=81365513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111657081.9A Pending CN114445537A (zh) | 2021-12-30 | 2021-12-30 | 模型处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114445537A (zh) |
-
2021
- 2021-12-30 CN CN202111657081.9A patent/CN114445537A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9460542B2 (en) | Browser-based collaborative development of a 3D model | |
US8355024B2 (en) | Lightweight three-dimensional display | |
US10868890B2 (en) | 3D modeling system distributed between a client device web browser and a server | |
US9787752B2 (en) | Hotspot editor for a user interface | |
TWI603286B (zh) | 在螢幕上顯示3d場景圖的方法 | |
US6721950B1 (en) | Input redirection | |
CN110515657B (zh) | 用于图形处理的间接命令缓冲区 | |
AU2012295303A1 (en) | Drag and drop of objects between applications | |
US9792383B2 (en) | Unload and display content placeholders with versions | |
KR101618381B1 (ko) | 선언적인 프리젠테이션 프레임워크를 위한 셰이더-기반의 확장 | |
US20050243084A1 (en) | Translating user input through two-dimensional images into three-dimensional scene | |
US20150067664A1 (en) | System, method and apparatus for transparently enabling software applications with adaptive user interfaces | |
US10628909B2 (en) | Graphics processing unit resource dependency viewer | |
CN114297746A (zh) | 建筑信息模型的渲染方法、装置、电子设备和存储介质 | |
WO2023159595A1 (zh) | 构建和配置三维空间场景的模型的方法、装置及计算机程序产品 | |
CN108447106B (zh) | 场馆座位图的生成方法及装置 | |
US9891791B1 (en) | Generating an interactive graph from a building information model | |
CN114445537A (zh) | 模型处理方法、装置、电子设备和存储介质 | |
CN114564268A (zh) | 一种设备管理方法、装置、电子设备和存储介质 | |
US9189253B2 (en) | Reentrant window manager | |
US20190304193A1 (en) | Real-time spatial authoring in augmented reality using additive and subtractive modeling | |
US11907646B1 (en) | HTML element based rendering supporting interactive objects | |
US20230078041A1 (en) | Method of displaying animation, electronic device and storage medium | |
US20240119658A1 (en) | Computer Systems and Methods for Rendering Three-Dimensional Views Using Object Cache Buffering | |
CN116778084A (zh) | 一种三维模型确定方法及系统 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230619 Address after: A601, Zhongke Naneng Building, No. 06 Yuexing 6th Road, Gaoxin District Community, Yuehai Street, Nanshan District, Shenzhen City, Guangdong Province, 518063 Applicant after: Shenzhen Wanyi Digital Technology Co.,Ltd. Address before: 519085 room 105-24914, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province (centralized office area) Applicant before: WANYI TECHNOLOGY Co.,Ltd. |