BIM model front-end rapid scheduling rendering method based on WebGPU acceleration

Through the acceleration method based on WebGPU and the split-screen concurrency request mechanism, the BIM model is divided into multiple model tiles and multi-threaded rendering is implemented, which solves the problem of poor rendering performance of BIM model in the prior art, and achieves the effect of efficient rendering and attribute retention.

CN120014138AActive Publication Date: 2025-05-16POWERCHINA BEIJING ENG CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510101783.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-22
Publication Date
2025-05-16
Estimated Expiration
2045-01-22

AI Technical Summary

Technical Problem

The prior art has poor performance when rendering BIM models with complex geometric structures, making it difficult to effectively improve rendering performance.

Method used

Using WebGPU-based acceleration method, the BIM model is divided into multiple model tiles through digital-analog separation preprocessing, and multi-threaded rendering is realized using the browser-side split-screen concurrency request mechanism and WebGPU shared memory technology.

Benefits of technology

It significantly improves the rendering performance and efficiency of the BIM model, realizes efficient rendering visualization in the browser, while retaining the management attributes of the BIM model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120014138A_ABST
    Figure CN120014138A_ABST
Patent Text Reader

Abstract

The invention provides a BIM model front-end rapid scheduling rendering method based on WebGPU acceleration. The BIM model front-end rapid scheduling rendering method comprises the steps that digital-analog separation preprocessing is conducted on a BIM model; configuring a classification transmission service and a query service; the front-end browser loads the BIM for the first time; screen partitioning and model tile geometric contour distribution; a model tile geometric contour Bbox concurrent request and model tile material texture mapping sharing are carried out; and the WebGPU is used for realizing multi-thread rendering. According to the method, through a browser-side split-screen concurrent request mechanism and a WebGPU shared memory technology, rapid scheduling rendering of the BIM model and the components thereof is realized, efficient rendering visualization of the BIM model can be realized in the browser, meanwhile, management attributes of the BIM model are comprehensively reserved, and the BIM model management efficiency is improved. The method is mainly applied to rendering visualization and simulation analysis of BIM three-dimensional models in engineering digital twinning, smart city and other industries.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of computer graphics, and in particular relates to a front-end fast scheduling rendering method for a BIM model based on WebGPU acceleration. Background Art

[0002] BIM model (i.e. building information model) is a digital representation of buildings and related information. Compared with ordinary three-dimensional models that only focus on expressing geometric structure and appearance texture, BIM model contains not only geometric structure information, but also rich non-geometric structure information, such as material information, cost information, time information, etc. Specifically, BIM model contains multi-level geometric structure of indoor and outdoor, multi-scale geometric structure from large range to small local model, and various types of complex functional attribute information. Among them, geometric structure information includes three-dimensional geometric shape and spatial relationship; functional attribute information includes material attribute, structural attribute, functional attribute; time information includes construction progress and life cycle information; cost information includes budget cost, economic analysis and other related drawings, regulations, etc. BIM model has the characteristics of dense geometric structure and complex file structure, and is generally used for building structure analysis, progress management, construction simulation and other aspects. The rendering and use of BIM model should pay more attention to the retention of its attribute information while taking into account the geometric form. Only retaining the component grouping and component attribute information of BIM model is the core of BIM model application. In order to realize the high-performance rendering application of BIM model, it is necessary to adopt a unique scheduling method and rendering mechanism.

[0003] The current 3D rendering engines are mainly based on WebGL, UE and other technologies. For example, Cesium, threejs, etc. use WebGL technology to render 3D scenes in the form of triangular surface data, focusing on the visualization application of GIS data. They are suitable for rendering GIS oblique photography models (which are triangular surface data structures), but have poor rendering performance for BIM models with dense geometric structures. Therefore, how to improve the rendering performance of BIM models with complex geometric characteristics is a difficult problem that needs to be solved at present. Summary of the invention

[0004] In view of the defects of the prior art, the present invention provides a BIM model front-end fast scheduling rendering method based on WebGPU acceleration, which can effectively solve the above problems.

[0005] The technical solution adopted by the present invention is as follows:

[0006] The present invention provides a BIM model front-end fast scheduling rendering method based on WebGPU acceleration, comprising the following steps:

[0007] Step S1, BIM model is preprocessed for digital-analog separation:

[0008] Performing digital-analog separation preprocessing on the BIM model to obtain BIM model attribute information and BIM model geometric structure; performing multi-region and multi-level division on the BIM model geometric structure to construct a model tile group; the model tile group includes a plurality of model tiles with a hierarchical relationship; each of the model tiles includes a model tile geometric outline Bbox and a model tile material texture map;

[0009] Establishing a logical association between each of the model tile geometric outlines Bbox and the corresponding model tile attribute in the BIM model attribute information according to the coding value;

[0010] The model tile material texture map is stored separately in a database; and the material texture map index information is written into each model tile geometric outline Bbox;

[0011] Step S2: Configure the classification transmission service and the model tile attribute query service:

[0012] Configure a model tile geometry outline transmission service and a model tile material texture map transmission service; configure a query service for querying the BIM model attribute information according to the coding value to obtain the model tile attribute;

[0013] Step S3, the front-end browser loads the BIM model for the first time:

[0014] When the front-end browser requests to load the BIM model for the first time, the front-end browser obtains the model tile geometric outline Bbox_0 of the root node through the model tile geometric outline transmission service; the front-end browser obtains the geographical coordinates of the model tile geometric outline Bbox_0 of the root node according to the query service of the model tile attribute; then, the front-end browser renders the model tile geometric outline Bbox_0 of the root node at the position corresponding to the geographical coordinates on the screen;

[0015] Step S4, allocation of screen partitions and model tile geometry contours:

[0016] According to the screen rendering range, the screen is divided into multiple screen partitions; according to the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node, several model tile geometric outline Bboxes required for the current rendering are determined; and further, the optimal strategy is adopted to allocate each model tile geometric outline Bbox required to be requested to each screen partition;

[0017] Step S5, concurrent request of model tile geometry outline Bbox and sharing of model tile material texture map:

[0018] Each screen partition, in its own corresponding thread, concurrently and synchronously requests the corresponding model tile geometry outline Bbox through the model tile geometry outline transmission service, thereby obtaining the requested model tile geometry outline Bbox;

[0019] Then, in the thread of each screen partition, the obtained model tile geometric outline Bbox is parsed to obtain material texture map index information; then, it is determined whether there is a corresponding model tile material texture map in the shared memory area, and if so, step S6 is executed; if not, the corresponding model tile material texture map is obtained through the model tile material texture map transmission service, and written into the shared memory area, and then step S6 is executed;

[0020] Step S6, WebGPU implements multi-threaded rendering:

[0021] Each screen partition renders the corresponding model tile geometric outline Bbox in its own corresponding thread, then obtains the corresponding model tile material texture map from the shared memory area, and renders it to the corresponding position of the model tile geometric outline Bbox, thereby realizing the rendering of model tiles with material texture effects.

[0022] Preferably, the BIM model geometric structure is divided into multiple regions and multiple levels to construct a model tile group, specifically:

[0023] Determine the outline of the BIM model geometric structure, and establish the minimum bounding volume of the BIM model geometric structure, which is the 0th level model tile, that is, the model tile of the root node;

[0024] Divide the 0th level model tile into 8 sub-tiles of the same size. If a sub-tile does not contain any face of the BIM model, remove the sub-tile; the remaining sub-tiles are sub-tiles of the 0th level tile and are also 1st level model tiles;

[0025] For each first-level model tile, if the size of the BIM model it contains is smaller than the size threshold, or if the number of facets of the BIM model it contains is smaller than the facet number threshold, stop dividing it to the next level; otherwise, continue to divide it into 8 sub-tiles of the same size, and continue in this way to establish a model tile group with an octree optimization structure of the BIM model.

[0026] Preferably, for each level of model tile, the model tile geometric outline Bbox included therein is the geometric outline of the outermost BIM model geometric structure contained in the model tile;

[0027] For each level of model tiles, the model tile material texture map included therein is the surface material texture map of the outermost BIM model geometric structure contained in the model tile.

[0028] Preferably, a logical association is established between each of the model tile geometric outlines Bbox and the corresponding model tile attribute in the BIM model attribute information according to the coding value, specifically:

[0029] The BIM model attribute information is split into model attribute information of each BIM sub-component, and the model attribute information of each corresponding BIM sub-component is stored using the BIM sub-component ID as a unique coding value;

[0030] Each of the model tile geometric outline Bbox also uses the corresponding BIM sub-component ID as a unique coding value;

[0031] Thereby, a logical association is established between each model tile geometric outline Bbox and the corresponding model tile attribute in the BIM model attribute information through the coded value.

[0032] Preferably, according to the screen rendering range, the screen is divided into four screen partitions, namely: an upper left screen partition, a lower left screen partition, an upper right screen partition, and a lower right screen partition.

[0033] Preferably, an optimal strategy is adopted to allocate each model tile geometric outline Bbox that needs to be requested to each screen partition, specifically:

[0034] Under the current 3D scene rendering camera perspective, calculate the position coordinates of each model tile geometry outline Bbox; then, determine the projection area of ​​each model tile geometry outline Bbox projected onto the screen; calculate the overlapping area of ​​the projection area and each screen partition respectively, and determine the screen partition with the largest overlapping area, so as to assign the model tile geometry outline Bbox to the screen partition with the largest overlapping area.

[0035] Preferably, when the WebGPU is used to implement multi-threaded rendering, the model tile attributes corresponding to the model tile geometric outline Bbox are obtained through the query service of the model tile attributes according to business needs.

[0036] Preferably, according to business needs, the model tile attributes corresponding to the model tile geometric outline Bbox are obtained through the query service of the model tile attributes, which specifically includes two methods:

[0037] a. Request model tile attributes by coded value:

[0038] The coding value adopts the BIM sub-component ID, and the corresponding BIM sub-component ID is directly obtained through the model tile geometric outline Bbox. The BIM sub-component ID is used as a search term, and the corresponding model tile attribute is obtained through the query service of the model tile attribute;

[0039] b. Request model tile attributes using spatial coordinates:

[0040] Determine the coordinate value to be queried (X 0 ,Y 0 ,Z 0 );

[0041] The coordinate value (X 0 ,Y 0 ,Z 0 ) performs intersection calculation with the model tile geometry contour Bbox loaded in the current field of view, determines the intersecting model tile geometry contour Bbox, and obtains the corresponding model tile attributes through the BIM sub-component ID recorded in the intersecting model tile geometry contour Bbox and the query service of the model tile attributes.

[0042] Preferably, it also includes:

[0043] Step S7, when the 3D field of view is scaled or translated, the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node are updated, and steps S4 to S6 are repeated. The transmission efficiency of the model tile geometric outline Bbox is improved through concurrent requests, and the fast scheduling and rendering of the BIM model on the front end is realized based on the shared memory and multi-threaded rendering mechanism of WebGPU.

[0044] The method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration provided by the present invention has the following advantages:

[0045] The present invention provides a BIM model front-end fast scheduling and rendering method based on WebGPU acceleration. Through the browser-side split-screen concurrent request mechanism and WebGPU shared memory technology, the fast scheduling and rendering of the BIM model and its components are realized. The present invention can realize efficient rendering and visualization of the BIM model in the browser, while fully retaining the BIM model management attributes. It is mainly used for rendering, visualization and simulation analysis of BIM three-dimensional models in industries such as engineering digital twins and smart cities. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 A flowchart of a BIM model front-end fast scheduling rendering method based on WebGPU acceleration provided by the present invention;

[0047] Figure 2Schematic diagram of digital-analog separation preprocessing for the BIM model provided by the present invention. DETAILED DESCRIPTION

[0048] In order to make the technical problems, technical solutions and beneficial effects solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0049] The present invention provides a BIM model front-end fast scheduling rendering method based on WebGPU acceleration, which relates to the scheduling rendering of BIM three-dimensional models such as digital twin visualization rendering engine, engineering BIM model visualization, and engineering simulation analysis, and in particular to a method for fast scheduling rendering of BIM models and their components on the browser side by using a split-screen concurrent request mechanism and WebGPU shared memory technology, which is mainly used for rendering visualization and simulation analysis of BIM three-dimensional models in industries such as engineering digital twins and smart cities.

[0050] The present invention provides a method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration, which is a method for fast scheduling and efficient rendering of engineering BIM models on a browser based on WebGPU technology. The main idea is:

[0051] First, the BIM model is deconstructed and preprocessed to achieve the physical separation and logical association of the BIM model geometry and BIM model attribute information, so that the BIM model and component grouping, management information and other attribute data can be fully retained while satisfying the model geometry rendering; then the geometry and material texture map resources of the BIM model are independently requested, and the data requests are divided into multiple threads for concurrent requests according to the three-dimensional rendering range to improve the data request efficiency; finally, the shared memory mechanism of WebGPU technology is used to achieve cross-thread sharing of model geometry and material texture map resources, so as to achieve fast visualization rendering of BIM models in the browser. This method can realize fast scheduling of BIM models, support efficient rendering and visualization of BIM models in the browser, and fully retain the management attributes of BIM models.

[0052] See also Figure 1 The present invention provides a BIM model front-end fast scheduling rendering method based on WebGPU acceleration, comprising the following steps:

[0053] Step S1, BIM model is preprocessed for digital-analog separation:

[0054] See also Figure 2, perform digital-analog separation preprocessing on the BIM model to obtain BIM model attribute information and BIM model geometric structure; wherein the BIM model attribute information includes material attributes, functional attributes, time attributes, etc.;

[0055] Step S1.1, dividing the BIM model geometric structure into multiple regions and multiple levels to construct a model tile group; the model tile group includes multiple model tiles with a hierarchical relationship; each of the model tiles includes a model tile geometric outline Bbox and a model tile material texture map;

[0056] As a specific implementation method, the BIM model geometric structure is divided into multiple regions and multiple levels to construct a model tile group, specifically:

[0057] Determine the outline of the BIM model geometric structure, and establish the minimum bounding volume of the BIM model geometric structure, which is the 0th level model tile, that is, the model tile of the root node;

[0058] Divide the 0th level model tile into 8 sub-tiles of the same size. If a sub-tile does not contain any face of the BIM model, remove the sub-tile; the remaining sub-tiles are sub-tiles of the 0th level tile and are also 1st level model tiles;

[0059] For each first-level model tile, if the size of the BIM model it contains is smaller than the size threshold, or if the number of facets of the BIM model it contains is smaller than the facet number threshold, stop dividing it to the next level; otherwise, continue to divide it into 8 sub-tiles of the same size, and continue in this way to establish a model tile group with an octree optimization structure of the BIM model.

[0060] In this step, for each level of model tiles, the model tile geometric outline Bbox included therein is the geometric outline of the outermost BIM model geometric structure contained in the model tile; for each level of model tiles, the model tile material texture map included therein is the surface material texture map of the outermost BIM model geometric structure contained in the model tile.

[0061] Step S1.2, establishing a logical association between each of the model tile geometric outlines Bbox and the corresponding model tile attributes in the BIM model attribute information according to the coding value;

[0062] As a specific implementation, a logical association is established between each of the model tile geometric outlines Bbox and the corresponding model tile attribute in the BIM model attribute information according to the coding value, specifically:

[0063] The BIM model attribute information is split into model attribute information of each BIM sub-component, and the model attribute information of each corresponding BIM sub-component is stored using the BIM sub-component ID as a unique coding value;

[0064] Each of the model tile geometric outline Bbox also uses the corresponding BIM sub-component ID as a unique coding value;

[0065] Thereby, a logical association is established between each model tile geometric outline Bbox and the corresponding model tile attribute in the BIM model attribute information through the coded value.

[0066] Step S1.3, storing the model tile material texture map separately through the database; and writing the material texture map index information in each model tile geometric outline Bbox;

[0067] Step S2: Configure the classification transmission service and the model tile attribute query service:

[0068] Configure a model tile geometry outline transmission service and a model tile material texture map transmission service; configure a query service for querying the BIM model attribute information according to the coding value to obtain the model tile attribute;

[0069] Specifically, the present invention provides two types of data transmission services, namely, model tile geometry outline transmission service and model tile material texture map transmission service, to realize discrete transmission of model tile data; reduce the amount of tile data transmission through classified transmission services; and provide query services for retrieving BIM model attribute information based on unique coding values.

[0070] Step S3, the front-end browser loads the BIM model for the first time:

[0071] When the front-end browser requests to load the BIM model for the first time, the front-end browser obtains the model tile geometric outline Bbox_0 of the root node through the model tile geometric outline transmission service; the front-end browser obtains the geographical coordinates of the model tile geometric outline Bbox_0 of the root node according to the query service of the model tile attribute; then, the front-end browser renders the model tile geometric outline Bbox_0 of the root node at the position corresponding to the geographical coordinates on the screen;

[0072] In the specific implementation, the longitude and latitude geographic coordinates of the model tile geometric outline Bbox_0 of the root node are obtained; the correct screen coordinates of the model tile geometric outline Bbox_0 of the root node are obtained through spatial calculation, and the front-end browser renders the model tile geometric outline Bbox_0 of the root node at the corresponding position on the screen.

[0073] Step S4, allocation of screen partitions and model tile geometry contours:

[0074] According to the screen rendering range, the screen is divided into multiple screen partitions; according to the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node, several model tile geometric outline Bboxes required for the current rendering are determined; and further, the optimal strategy is adopted to allocate each model tile geometric outline Bbox required to be requested to each screen partition;

[0075] The present invention does not limit the screen partitioning method and the number of screen partitions. For example, according to the screen rendering range, the screen is divided into four screen partitions, namely: upper left screen partition, lower left screen partition, upper right screen partition, and lower right screen partition. The areas of the four screen partitions are equal, so that the requests for all model tile geometric outline Bboxes are divided into four concurrent threads.

[0076] As a specific implementation method, an optimal strategy is adopted to allocate each model tile geometric outline Bbox that needs to be requested to each screen partition, specifically:

[0077] Under the current 3D scene rendering camera perspective, calculate the position coordinates of each model tile geometry outline Bbox that needs to be requested; then, determine the projection area of ​​each model tile geometry outline Bbox projected onto the screen; calculate the overlapping area of ​​the projection area and each screen partition respectively, and determine the screen partition with the largest overlapping area, so as to assign the model tile geometry outline Bbox to the screen partition with the largest overlapping area.

[0078] Step S5, concurrent request of model tile geometry outline Bbox and sharing of model tile material texture map:

[0079] Each screen partition, in its own corresponding thread, concurrently and synchronously requests the corresponding model tile geometry outline Bbox through the model tile geometry outline transmission service, thereby obtaining the requested model tile geometry outline Bbox;

[0080] Then, in the thread of each screen partition, the obtained model tile geometric outline Bbox is parsed to obtain material texture map index information; then, it is determined whether there is a corresponding model tile material texture map in the shared memory area, and if so, step S6 is executed; if not, the corresponding model tile material texture map is obtained through the model tile material texture map transmission service, and written into the shared memory area, and then step S6 is executed;

[0081] Step S6, WebGPU implements multi-threaded rendering:

[0082] Each screen partition renders the corresponding model tile geometric outline Bbox in its own corresponding thread, then obtains the corresponding model tile material texture map from the shared memory area, and renders it to the corresponding position of the model tile geometric outline Bbox, thereby realizing the rendering of model tiles with material texture effects.

[0083] In this step, when the WebGPU is used to implement multi-threaded rendering, the model tile attributes of the corresponding model tile geometric outline Bbox are obtained through the query service of the model tile attributes according to business needs; specifically, there are two ways:

[0084] a. Request model tile attributes by coded value:

[0085] The coding value adopts the BIM sub-component ID, and the corresponding BIM sub-component ID is directly obtained through the model tile geometric outline Bbox. The BIM sub-component ID is used as a search term, and the corresponding model tile attribute is obtained through the query service of the model tile attribute;

[0086] b. Request model tile attributes using spatial coordinates:

[0087] Determine the coordinate value to be queried (X 0 ,Y 0 ,Z 0 );

[0088] The coordinate value (X 0 ,Y 0 ,Z 0 ) performs intersection calculation with the model tile geometry contour Bbox loaded in the current field of view, determines the intersecting model tile geometry contour Bbox, and obtains the corresponding model tile attributes through the BIM sub-component ID recorded in the intersecting model tile geometry contour Bbox and the query service of the model tile attributes.

[0089] Also includes:

[0090] Step S7, when the 3D field of view is scaled or translated, the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node are updated, and steps S4 to S6 are repeated. The transmission efficiency of the model tile geometric outline Bbox is improved through concurrent requests, and the fast scheduling and rendering of the BIM model on the front end is realized based on the shared memory and multi-threaded rendering mechanism of WebGPU.

[0091] An embodiment is described below:

[0092] Step S1: BIM model digital-analog separation preprocessing

[0093] a. Read the BIM model file and process the BIM model geometry structure and BIM model attribute information in the BIM model file respectively;

[0094] b. For the BIM model geometry structure: the model is divided into model tiles of multiple precisions in the form of an octree to form a model tile group; each model tile includes a model tile geometry contour Bbox and a model tile material texture map of the corresponding level;

[0095] c. Extract the model attribute information of each BIM sub-component from the BIM model attribute information and store it in the database. Therefore, the BIM model attribute information uses a unique coding value to associate and store the corresponding model attribute information in units of BIM sub-components; the model tile geometric outline Bbox of each model tile also stores the coding value of the BIM sub-component, and the one-to-one correspondence between the model tile geometric outline Bbox and the model tile attribute information is realized through the unique coding value;

[0096] Step S2: Model tile data classification transmission service and attribute query service

[0097] a. For the model tile geometry contour Bbox and model tile material texture map included in the model tile, two types of data transmission services are provided to realize the model tile geometry contour Bbox data transmission and model tile material texture map transmission. The model tile geometry contour Bbox stores the material texture map index information;

[0098] b. Provide model tile attribute query service, support retrieval of model attribute information according to BIM sub-component ID; Step S3: The front-end browser loads the BIM model for the first time

[0099] When the front-end browser requests the BIM model for the first time, the model tile geometric outline Bbox_0 of the root node is obtained through a network request. According to the independent coordinates of the model tile geometric outline Bbox_0 of the root node, the longitude and latitude spatial coordinates are obtained through spatial calculation, and the model tile geometric outline Bbox_0 of the root node is rendered at the correct geographical location.

[0100] Step S4: Screen partitioning to achieve 4-thread concurrency

[0101] a. Get the width w and height h of the screen rendering range, and divide the entire screen rendering range into four screen partitions: upper left, upper right, lower left, and lower right according to the size of w / 2 and h / 2. Assume that the screen coordinates of the lower left corner are (x 0 ,y 0 ), then the coordinate ranges of the four screen partitions are:

[0102] The upper left coordinate range [{x 0 ,y 0 +h / 2},{x0 +w / 2,y 0 +h / 2},{x 0 +w / 2,y 0 +h},(x 0 ,y 0 +h)]

[0103] The upper right coordinate range [{x 0 +w / 2,y 0 +h / 2},{x 0 +w,y 0 +h / 2},{x 0 +w,y 0 +h},(x 0 +w / 2,y 0 +h)]

[0104] The lower left coordinate range [{x 0 ,y 0},{x 0 +w / 2,y 0},{x 0 +w / 2,y 0 +h / 2},(x 0 ,y 0 +h / 2)]

[0105] The lower right coordinate range [{x 0 +w / 2,y 0},{x 0 +w,y 0},{x 0 +w,y 0 +h / 2},(x 0 +w / 2,y 0 +h / 2)]

[0106] b. Determine the model tile geometry contour Bbox required for rendering according to the distance and relative viewing angle between the 3D scene rendering camera and the model tile geometry contour Bbox_0 of the root node, traverse the model tile geometry contour Bbox one by one and perform intersection calculation with the four screen partitions, determine the overlapping area between each model tile geometry contour Bbox and each screen partition, select the screen partition with the largest overlapping area, and execute the request for the corresponding model tile geometry contour Bbox in the thread corresponding to the screen partition. Each model tile geometry contour Bbox only belongs to a certain thread, and there is no phenomenon of repeated requests;

[0107] c. Based on this, the model tile geometry outline Bbox requests required in the scene are divided into 4 concurrent threads, and the requests are made separately;

[0108] Step S5: concurrent request of model tile geometry outline Bbox and sharing of model tile material texture map

[0109] a. In four threads, the corresponding model tile geometry outline Bbox is synchronously requested through the network. First, the model tile geometry outline Bbox is requested, and the model tile geometry outline Bbox records the required material texture map index information.

[0110] b. In a certain thread, continue to request the model tile material texture map through the network according to the material texture map index information, and write it into the shared memory area. Moreover, before requesting the model tile material texture map, first determine whether the model tile material texture map exists in the shared memory. If the material already exists, skip the network request;

[0111] Step S6: WebGPU implements multi-threaded rendering

[0112] Based on WebGPU asynchronous command submission technology, rendering commands are independently constructed and created in each thread, and three-dimensional rendering is performed using the model tile geometry outline Bbox. At the same time, the model tile material texture map is read from the shared memory, and finally the rendering of the model tile with material texture effect is realized;

[0113] Step S7: When the 3D field of view is zoomed or translated, steps S4-S6 are repeated to improve data transmission efficiency through concurrent requests, and fast scheduling and rendering of the BIM model on the front end is achieved based on the shared memory and multi-threaded rendering mechanism of WebGPU.

[0114] Step S8: Request model attribute information on demand

[0115] According to business usage requirements, if model attribute information is needed, there are two ways to request model attributes by BIM sub-component ID and by spatial coordinates:

[0116] a. Request model attributes by BIM sub-component ID: directly retrieve model attribute information according to BIM sub-component ID through the model tile attribute query service;

[0117] b. Request model attributes by spatial coordinates: 0 ,Y 0 ,Z 0 ), and perform intersection calculation with the model tile geometry contour Bbox loaded in the current field of view to determine the selected model tile geometry contour Bbox, and obtain the corresponding model attribute information of the corresponding tile through the model tile attribute query service through the BIM sub-component ID recorded in the model tile geometry contour Bbox.

[0118] The present invention provides a BIM model front-end fast scheduling rendering method based on WebGPU acceleration, which realizes loading of three-dimensional BIM models based on WebGPU technology. Compared with the front-end WebGL technology, the computing and graphics processing capabilities of the computer GPU can be more efficiently utilized. At the same time, the BIM model usually has multi-level complex geometric shapes such as indoor and outdoor, macroscopic and microscopic, and has a model organization form of model grouping and a large number of sub-components, and has rich attribute information such as attributes, materials, operation and maintenance, and cost. The three-dimensional visualization rendering of the BIM model involves a large number of geometric calculations and graphics rendering commands. The present invention applies WebGPU technology to the rendering of the BIM model to improve the rendering performance of the three-dimensional model, improve the model rendering effect, and reduce the use threshold of the BIM model, which is conducive to the application and promotion of the BIM model in related industries. By comparison, the same BIM model is rendered under the same test environment, and the FPS (frames per second) of the BIM three-dimensional model loaded by this method is stable at 70-125FPS, while the FPS of the model loaded by the WebGL technology engine (Cesium engine) under the same conditions is only 40-65FPS, so the rendering performance of the three-dimensional BIM model using the method of the present invention is greatly improved.

[0119] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be considered as the scope of protection of the present invention.

Claims

1. A method for fast scheduling and rendering of BIM model front-end based on WebGPU acceleration, characterized in that: The following steps are involved: Step S1, BIM model is preprocessed for digital-analog separation: Performing digital-analog separation preprocessing on the BIM model to obtain BIM model attribute information and BIM model geometric structure; performing multi-region and multi-level division on the BIM model geometric structure to construct a model tile group; the model tile group includes a plurality of model tiles with a hierarchical relationship; each of the model tiles includes a model tile geometric outline Bbox and a model tile material texture map; Establishing a logical association between each of the model tile geometric outlines Bbox and the corresponding model tile attribute in the BIM model attribute information according to the coding value; The model tile material texture map is stored separately in a database; and the material texture map index information is written into each model tile geometric outline Bbox; Step S2: Configure the classification transmission service and the model tile attribute query service: Configure a model tile geometry outline transmission service and a model tile material texture map transmission service; configure a query service for querying the BIM model attribute information according to the coding value to obtain the model tile attribute; Step S3, the front-end browser loads the BIM model for the first time: When the front-end browser requests to load the BIM model for the first time, the front-end browser obtains the model tile geometric outline Bbox_0 of the root node through the model tile geometric outline transmission service; the front-end browser obtains the geographic coordinates of the model tile geometric outline Bbox_0 of the root node according to the query service of the model tile attribute; Then, the front-end browser renders the model tile geometric outline Bbox_0 of the root node at the position corresponding to the geographic coordinates on the screen; Step S4, allocation of screen partitions and model tile geometry contours: Divide the screen into multiple screen partitions according to the screen rendering range; According to the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node, several model tile geometric outline Bboxes required for the current rendering are determined; and the optimal strategy is further adopted to allocate each model tile geometric outline Bbox required to be requested to each screen partition; Step S5, concurrent request of model tile geometry outline Bbox and sharing of model tile material texture map: Each screen partition, in its own corresponding thread, concurrently and synchronously requests the corresponding model tile geometry outline Bbox through the model tile geometry outline transmission service, thereby obtaining the requested model tile geometry outline Bbox; Then, in the thread of each screen partition, the obtained model tile geometric outline Bbox is parsed to obtain material texture map index information; Then, determine whether there is a corresponding model tile material texture map in the shared memory area, if so, execute step S6; if not, obtain the corresponding model tile material texture map through the model tile material texture map transmission service, write it into the shared memory area, and then execute step S6; Step S6, WebGPU implements multi-threaded rendering: Each screen partition renders the corresponding model tile geometric outline Bbox in its own corresponding thread, then obtains the corresponding model tile material texture map from the shared memory area, and renders it to the corresponding position of the model tile geometric outline Bbox, thereby realizing the rendering of model tiles with material texture effects.

2. According to the method of claim 1, the method is characterized in that: The BIM model geometric structure is divided into multiple regions and multiple levels to construct a model tile group, specifically: Determine the outline of the BIM model geometric structure, and establish the minimum bounding volume of the BIM model geometric structure, which is the 0th level model tile, that is, the model tile of the root node; Divide the 0th level model tile into 8 sub-tiles of the same size. If a sub-tile does not contain any face of the BIM model, remove the sub-tile; the remaining sub-tiles are sub-tiles of the 0th level tile and are also 1st level model tiles; For each first-level model tile, if the size of the BIM model it contains is smaller than the size threshold, or if the number of faces of the BIM model it contains is smaller than the face number threshold, stop dividing it into the next level; Otherwise, continue to divide it into 8 sub-tiles of the same size, and continue in this way, so as to establish a model tile group of the octree optimization structure of the BIM model.

3. According to the method of claim 2, the method is characterized in that: For each level of model tile, the model tile geometric outline Bbox included therein is the geometric outline of the outermost BIM model geometric structure contained in the model tile; For each level of model tiles, the model tile material texture map included therein is the surface material texture map of the outermost BIM model geometric structure contained in the model tile.

4. According to the method of claim 1, the method is characterized in that: A logical association is established between each of the model tile geometric outlines Bbox and the corresponding model tile attribute in the BIM model attribute information according to the coding value, specifically: The BIM model attribute information is split into model attribute information of each BIM sub-component, and the model attribute information of each corresponding BIM sub-component is stored using the BIM sub-component ID as a unique coding value; Each of the model tile geometric outline Bbox also uses the corresponding BIM sub-component ID as a unique coding value; Thereby, a logical association is established between each model tile geometric outline Bbox and the corresponding model tile attribute in the BIM model attribute information through the coded value.

5. According to the method of claim 1, the method is characterized in that: According to the screen rendering range, the screen is divided into four screen partitions, namely: upper left screen partition, lower left screen partition, upper right screen partition, and lower right screen partition.

6. The method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration according to claim 1 is characterized in that: Adopt the optimal strategy to allocate the geometric outline Bbox of each model tile to be requested to each screen partition, specifically: Under the current 3D scene rendering camera perspective, calculate the position coordinates of each model tile geometric outline Bbox; then, determine the projection area of ​​each model tile geometric outline Bbox projected onto the screen; The overlapping areas of the projection area and each screen partition are calculated respectively, and the screen partition with the largest overlapping area is determined, so that the model tile geometric outline Bbox is assigned to the screen partition with the largest overlapping area.

7. The method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration according to claim 1 is characterized in that: When the WebGPU is used to implement multi-threaded rendering, the model tile attributes of the corresponding model tile geometric outline Bbox are obtained through the query service of the model tile attributes according to business needs.

8. The method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration according to claim 7 is characterized in that: According to business needs, the model tile attributes corresponding to the model tile geometric outline Bbox are obtained through the query service of the model tile attributes, which specifically includes two methods: a. Request model tile attributes by coded value: The coding value adopts the BIM sub-component ID, and the corresponding BIM sub-component ID is directly obtained through the model tile geometric outline Bbox. The BIM sub-component ID is used as a search term, and the corresponding model tile attribute is obtained through the query service of the model tile attribute; b. Request model tile attributes using spatial coordinates: Determine the coordinate value (X0, Y0, Z0) to be queried; The coordinate value (X0, Y0, Z0) is intersected with the model tile geometry contour Bbox loaded in the current field of view to determine the intersecting model tile geometry contour Bbox, and the corresponding model tile attributes are obtained through the BIM sub-component ID recorded in the intersecting model tile geometry contour Bbox and the query service of the model tile attributes.

9. The method for fast scheduling and rendering of a BIM model front end based on WebGPU acceleration according to claim 1, characterized in that: Also includes: Step S7, when the 3D field of view is scaled or translated, the distance and relative viewing angle relationship between the 3D scene rendering camera and the model tile geometric outline Bbox_0 of the root node are updated, and steps S4 to S6 are repeated. The transmission efficiency of the model tile geometric outline Bbox is improved through concurrent requests, and the fast scheduling and rendering of the BIM model on the front end is realized based on the shared memory and multi-threaded rendering mechanism of WebGPU.

Citation Information

Patent Citations

  • Digital twin system based on BIM (Building Information Modeling) and VR (Virtual Reality) technologies

    CN115186355A

  • BIM data scheduling method and device and computer readable storage medium

    CN116701471A

  • Slicing-free BIM model lossless loading method and device

    CN117763685A

  • Urban digital twinning scene LOD processing method

    CN119228975A

  • LOD-based BIM model lightweight construction and display method

    WO2023124842A1