A building information model efficient rendering method for reducing loading delay

By subdividing the LOD blocks of the BIM model into minimum renderable fragments, and combining visibility and rate-priority queue scheduling, the problem of BIM model rendering loading delay is solved, achieving efficient rendering results.

CN121073751BActive Publication Date: 2026-02-13CHANGSHA BIMENG CLOUD INFORMATION TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511604259.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-05
Publication Date
2026-02-13
Estimated Expiration
2045-11-05

AI Technical Summary

Technical Problem

Existing BIM model rendering and loading delay methods do not take into account the real-time throughput differences in code reading, decoding, and uploading, resulting in screen pop-in, lag, or long periods of blank space.

Method used

By extracting the number of visible and unoccluded pixels and the total size in bytes within a LOD block, the visibility level and relative screen share of the LOD block are determined. Combined with the speed of disk, CPU, and video memory, the block is subdivided into the smallest renderable fragments. Rendering strategies are then assigned based on the latest startup time and perceived quality, with priority queue scheduling and staged rendering.

Benefits of technology

It significantly reduces the loading latency of BIM models, ensuring that users can quickly see meaningful images, avoiding image occlusion and jumps, and improving bandwidth utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121073751B_ABST
    Figure CN121073751B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data processing, and discloses a building information model efficient rendering method for reducing loading delay, which comprises the following steps: extracting the number of screen pixels and the total byte size on a disk in an LOD block from a BIM model, determining the visibility level, predicted appearance time and relative screen ratio of the LOD block, and obtaining a priority queue; decomposing the LOD block into different minimum renderable fragments, respectively determining the latest start time of each minimum renderable fragment, and sequentially starting the minimum renderable fragments; according to the difference between the effective byte amount of all the minimum renderable fragments of the LOD block that have been uploaded and the total byte size of the LOD block on the disk, assigning different rendering strategies to the LOD block, and realizing the rendering of the building information model. The application can realize the efficient rendering of the building information model with reduced loading delay.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, in particular to a building information model efficient rendering method for reducing loading delay. BACKGROUND

[0002] BIM is a digital three-dimensional building data model that can integrate information throughout the life cycle of a building project, including design, construction, operation, and other stages. The BIM file corresponding to the BIM model is usually of large size. If the rendering system cannot quickly load the part to be seen by the user into the memory and video memory, it will cause a bad experience such as lag, white screen, or sudden model jump. In order to reduce the loading delay of BIM model rendering, generally, the model is divided into multiple LOD blocks according to geometric error during the construction period. During runtime, high-LOD blocks near the camera, visible, and unoccluded are loaded first, and then low-LOD blocks are gradually loaded to the far, back, and occluded areas. The scheduling logic of the LOD block is to use distance threshold, screen error threshold, or simple FIFO / LRU queue, and the loading start time is triggered by experience or fixed frame delay. Among them, LOD is Level of Detail, which is a hierarchical standard used to describe the precision and information density of the BIM model. The BIM model is divided into different levels from LOD100 to LOD500.

[0003] However, the existing method for reducing the loading delay of BIM model rendering does not consider the real-time throughput difference of reading, decoding, and uploading, and blindly starts the task. Once the disk, CPU, or PCIe bandwidth fluctuates, it will cause waste of memory or data not ready, resulting in pop-in, lag, or long-time blank placeholder of the final picture. SUMMARY

[0004] The present application provides a building information model efficient rendering method for reducing loading delay, which solves the problem of unreasonable setting of trigger conditions for reading and loading of LOD blocks in the rendering process of the building information model, resulting in too long first-screen visible delay. The technical solution adopted is as follows:

[0005] One embodiment of the present application provides a building information model efficient rendering method for reducing loading delay, which comprises the following steps:

[0006] The number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block is extracted from the BIM model, and the total byte size of the LOD block on the disk is determined, the visibility level and the relative screen ratio of the LOD block are respectively assigned according to the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block, the predicted appearance time of the LOD block is determined, and the LOD blocks are arranged according to the visibility level, the predicted appearance time, and the relative screen ratio of the LOD blocks, and the priority queue is obtained.

[0007] The LOD block is decomposed into different minimum renderable fragments, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, and the continuous uploading rate from the main memory to the video memory are respectively read, the latest start time of each minimum renderable fragment of each LOD block is respectively determined according to the predicted appearance time of the LOD block and the total byte size of the minimum renderable fragment on the disk, and the minimum renderable fragments are sequentially started according to the latest start time.

[0008] According to the difference between the effective byte amount of all minimum renderable fragments of the LOD block that have been uploaded and the total byte size of the LOD block on the disk, different rendering strategies are assigned to the LOD block, and the rendering of the building information model is realized.

[0009] Further, the specific assignment method of the visibility level of the LOD block is:

[0010] When the LOD block is visible in the current frame, the ratio of the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block to the number of screen pixels is recorded as the visible pixel ratio of the LOD block, and the visibility level of the LOD block is assigned as 0, 1 or 2 according to the visible pixel ratio of the LOD block.

[0011] When the LOD block is not visible in the current frame, the predicted appearance time of the LOD block is determined, the visibility level of the LOD block is assigned as 3 when the LOD block appears within a preset time window, and the visibility level of the LOD block is assigned as 4 when the LOD block does not appear within the preset time window.

[0012] Further, the specific assignment method of the relative screen ratio is:

[0013] The number of pixels covered when the bounding box of the LOD block is projected onto the screen space is recorded as the projected pixel number of the LOD block, and the ratio of the projected pixel number of the LOD block to the total number of screen pixels is recorded as the relative screen ratio of the LOD block.

[0014] Further, the specific determination method of the predicted appearance time of the LOD block is:

[0015] When the LOD chunk is visible in the current frame, the predicted appearance time of the LOD chunk is assigned as 0;

[0016] When the LOD chunk is not going to appear, the predicted appearance time of the LOD chunk is assigned as positive infinity.

[0017] Further, the arrangement of the LOD chunks according to the visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size on the disk of the LOD chunks, and the obtaining of the priority queue, comprise the following specific method:

[0018] The visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size on the disk of the LOD chunks are compared in sequence, and all the LOD chunks are arranged in ascending order according to the comparison results to obtain the priority queue.

[0019] Further, the decomposition of the LOD chunk into different minimum renderable patches comprises the following specific method:

[0020] When the BIM model is constructed, a uniform spatial subdivision is performed on the LOD chunk grid to obtain a bounding box node; GPU-driven meshletization is performed on each node to fill the number of vertices in each sub-node with a meshlet, and the corresponding texture is cut into a mip-block according to a physical page; the meshlet and the first-level mip-block are combined to be recorded as a minimum renderable patch.

[0021] Further, the formula of the latest start time of the minimum renderable patch is:

[0022]

[0023] wherein, represents the latest start time of the i-th minimum renderable patch of the j-th LOD chunk; represents the absolute timestamp when the j-th LOD chunk is predicted to first appear on the screen; represents a preset buffer time; represents the total byte size on the disk of the i-th minimum renderable patch of the j-th LOD chunk; represents the actual sustained reading rate of the current system disk; represents the actual sustained decoding rate of the current decoder; represents the sustained upload rate from the main memory to the video memory.

[0024] ​​​​​Further, the specific method of sequentially starting the minimum renderable fragments according to the latest start time comprises:

[0025] Start each minimum renderable fragment in turn according to the latest start time from early to late.

[0026] Further, the specific method of assigning different rendering strategies to the LOD blocks according to the difference between the effective byte amount of all the minimum renderable fragments of the LOD block that have been uploaded and the total byte size of the LOD block on the disk comprises:

[0027] Calculate the perceived quality according to the difference between the effective byte amount of all the minimum renderable fragments of the LOD block that have been uploaded and the total byte size of the LOD block on the disk.

[0028] Render the different LOD blocks according to the perceived quality by using placeholder levels, low-quality levels, medium-quality levels and high-quality levels respectively.

[0029] Further, the formula of the perceived quality is:

[0030]

[0031] Wherein, represents the perceived quality of the i-th LOD block at time t; represents the perceived quality of the i-th LOD block at time t; represents the perceived quality of the i-th LOD block at time t; represents a truncation function; represents the effective byte amount of all the minimum renderable fragments of the i-th LOD block that have been uploaded at time t; represents the effective byte amount of all the minimum renderable fragments of the i-th LOD block that have been uploaded at time t; represents the total byte size of the i-th LOD block on the disk. The beneficial effects of the present application are:

[0032] The beneficial effects of the present application are:

[0033] ​The application first considers that the bandwidth resource will limit the disk I / O, CPU decoding and video memory upload in the BIM model loading process. If the BIM model is loaded directly according to the original storage order or simple distance, the screen first seen by the user may be blocked by a large amount of current invisible data. Therefore, the deterministic view priority of the LOD block of the BIM model is determined, and a priority queue is obtained. If the entire LOD block is read and processed at one time, any instantaneous blockage of any step will make the subsequent steps unable to proceed, so that the user has to wait until the entire LOD block is completely ready before being able to see even the roughest picture. Therefore, the LOD block is subdivided into different minimum renderable tiles, and the latest start time of the minimum renderable tile is determined according to the total byte size of the minimum renderable tile on the disk, the actual continuous reading rate of the current system disk, the actual continuous decoding rate of the current decoder, the continuous upload rate from the main memory to the video memory, and the buffer time. According to the latest start time, the minimum renderable tile is started one by one. When reading, decoding or uploading is idle, the task closest to the latest start time is preferentially selected for execution. If the resource is insufficient to cause the task to miss the start time, the task is preempted for execution when there is an idle time, so as to ensure that each minimum renderable tile can complete loading, decoding and uploading before rendering. Finally, according to the difference between the effective byte amount of all minimum renderable tiles of the LOD block that have been uploaded and the total byte size of the LOD block on the disk, different rendering strategies are allocated to the LOD block, and different minimum renderable tiles of the LOD block are placed in different rendering stages, so that the renderer can immediately occupy the position with an outline, a low-resolution texture or a simplified grid when the data is not complete, and gradually replace and integrate details as more bytes gradually arrive, so as to eliminate visible jumps, reduce loading delay, realize rendering of the building information model, and solve the problem of unreasonable setting of the triggering condition of reading and loading of the LOD block in the rendering process of the building information model, which causes the first screen visible delay to be too long. The application realizes efficient rendering of the building information model with reduced loading delay. BRIEF DESCRIPTION OF DRAWINGS

[0034] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without any creative labor.

[0035] Figure 1 A flowchart of a building information model efficient rendering method with reduced loading delay provided by an embodiment of the present application;

[0036] Figure 2 A visibility level acquisition flowchart provided by an embodiment of the present application. DETAILED DESCRIPTION

[0037] The technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative labor fall within the scope of protection of the present application.

[0038] Please refer to Figure 1 which shows a BIM efficient rendering method flowchart for reducing loading delay provided by an embodiment of the present application. The method comprises the following steps:

[0039] Step S001, extract the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block from the BIM model, and the total byte size of the LOD block on the disk, value the visibility level and the relative screen-occupying ratio of the LOD block according to the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block, determine the predicted appearance time of the LOD block, arrange the LOD blocks according to the visibility level, the predicted appearance time, the inverse of the relative screen-occupying ratio, and the total byte size of the LOD block on the disk, and obtain a priority queue.

[0040] During the loading of the BIM model, the bandwidth resource will limit the disk I / O, CPU decoding and video memory uploading. If the BIM model is loaded directly according to the original storage order or simple distance, the picture first seen by the user may be occluded by a large amount of current invisible data. Therefore, the deterministic view priority of the LOD block of the BIM model needs to be determined first, the contribution of each LOD block to the current and upcoming view is quantified, and the limited resources are put into the LOD block that can immediately produce visible pixels or appear on the screen the fastest, so that the user can see meaningful and complete pictures in the shortest time, and the first-screen loading delay is significantly reduced.

[0041] Extract the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block from the BIM model, and the total byte size of the LOD block on the disk.

[0042] The smaller the total byte size of the LOD block on the disk is, the more the LOD block should be loaded first, so that the subsequent resources can be released faster.

[0043] Value the visibility level of the LOD block according to the number of screen-occupying pixels in the current frame that are visible and not occluded in the LOD block.

[0044] The ratio of the number of screen pixels that are currently visible and unoccluded within the LOD tile to the number of screen pixels is denoted as the visible pixel ratio of the LOD tile.

[0045] When the LOD tile is visible in the current frame, the visibility level of the LOD tile is assigned according to the visible pixel ratio of the LOD tile.

[0046] When the visible pixel ratio of the LOD tile is greater than or equal to 1%, the visibility level of the LOD tile is assigned as 0; when the visible pixel ratio of the LOD tile is greater than 0.1% and less than 1%, the visibility level of the LOD tile is assigned as 1; when the visible pixel ratio of the LOD tile is less than or equal to 0.1%, the visibility level of the LOD tile is assigned as 2.

[0047] When the LOD tile is not visible in the current frame, the predicted appearance time of the LOD tile is determined according to the linear extrapolation of the camera trajectory and the bounding box view frustum detection, and whether the LOD tile appears in a preset time window is determined according to the predicted appearance time of the LOD tile, when the LOD tile appears in the preset time window, the visibility level of the LOD tile is assigned as 3, and when the LOD tile does not appear in the preset time window, the visibility level of the LOD tile is assigned as 4.

[0048] The preset time window should be longer than or equal to 0.5 seconds and shorter than or equal to 1.5 seconds, and the value of the preset time window in the embodiment is 1 second; whether the LOD tile appears and the time of appearance are determined according to the linear extrapolation of the camera trajectory and the bounding box view frustum detection, which are well-known techniques and will not be described in detail.

[0049] The smaller the visibility level of the LOD tile is, the more the LOD tile should be prioritized for loading, that is, resources are first allocated to the LOD tile that has the largest area on the screen, then to the LOD tile that is about to enter, and finally to the distant view. The visibility level acquisition flowchart is shown in Figure 2 .

[0050] It should be noted that when the LOD tile is visible in the current frame, the predicted appearance time of the LOD tile is assigned as 0; and when the LOD tile does not appear, the predicted appearance time of the LOD tile is assigned as positive infinity.

[0051] The shorter the predicted appearance time of the prioritized loading is, the more the LOD tile should be prioritized for loading, avoiding loading useless data too early.

[0052] The number of pixels covered by the projection of the bounding box of the LOD chunk to the screen space is statistically estimated using coarse rasterization or using a conservative rasterization, denoted as the projected pixel number of the LOD chunk, and the ratio of the projected pixel number of the LOD chunk to the total number of pixels of the screen is denoted as the relative screen ratio of the LOD chunk.

[0053] The larger the relative screen ratio of the LOD chunk is, the more the LOD chunk should be loaded in priority.

[0054] The visibility level, the predicted appearance time, the inverse of the relative screen ratio, and the total byte size of the LOD chunk on the disk of different LOD chunks are sequentially compared in order, and all the LOD chunks are arranged in order from small to large according to the comparison result to obtain a priority queue.

[0055] It can be understood that when comparing two LOD chunks, first, the visibility levels of the two LOD chunks are compared, when the visibility levels are different, the LOD chunk with the smaller visibility level is arranged before the LOD chunk with the larger visibility level, when the visibility levels are the same, then, the predicted appearance times of the two LOD chunks are compared, when the predicted appearance times of the two LOD chunks are different, the LOD chunk with the smaller predicted appearance time is arranged before the LOD chunk with the larger predicted appearance time, when the predicted appearance times of the two LOD chunks are the same, further, the inverse of the relative screen ratio of the two LOD chunks is compared, when the inverse of the relative screen ratio of the two LOD chunks is different, the LOD chunk with the smaller inverse of the relative screen ratio is arranged before the LOD chunk with the larger inverse of the relative screen ratio, when the inverse of the relative screen ratio of the two LOD chunks is the same, finally, the total byte sizes of the two LOD chunks on the disk are compared, when the total byte sizes of the two LOD chunks on the disk are different, the LOD chunk with the smaller total byte size on the disk is arranged before the LOD chunk with the larger total byte size on the disk, when the total byte sizes of the two LOD chunks on the disk are the same, the order of the two LOD chunks is randomly assigned.

[0056] At this point, the priority queue is obtained.

[0057] In step S002, the LOD chunk is decomposed into different minimum renderable fragments, the actual sustained reading rate of the current system disk, the actual sustained decoding rate of the current decoder, and the sustained upload rate from the main memory to the video memory are respectively read, the predicted appearance time of the LOD chunk and the total byte size of the minimum renderable fragment on the disk are combined, the latest start time of each minimum renderable fragment of each LOD chunk is determined, and the minimum renderable fragments are sequentially started according to the latest start time.

[0058] Since disk I / O, CPU decoding, and GPU uploading are all serial and have bandwidth limitations, if the entire LOD block is read and processed at once, any momentary blockage at any step will prevent subsequent steps from proceeding. This forces users to wait until the entire LOD block is fully ready before they can see even the most basic image.

[0059] Therefore, by subdividing LOD blocks into different minimum renderable fragments, and fetching only the first batch of the most critical data according to the urgency of visibility, the outline or placeholder geometry is rendered immediately, and then details are gradually added, so that meaningful images can be presented in the first frame, and the remaining transmission and decoding tasks are smoothly distributed to subsequent frames, significantly reducing the latency of the first screen and improving the overall bandwidth utilization.

[0060] Preferably, as an embodiment of this application, the LOD block is the smallest independent unit in the logical space, responsible for overall spatial indexing, visibility judgment and metadata management, while the fragment is the smallest schedulable unit for transmission and rendering. When constructing the BIM model, the LOD block mesh is first uniformly spatially partitioned using a spatial octree or KD-Tree to obtain bounding box nodes with appropriate granularity; GPU-driven meshletization is performed on each node so that the number of vertices in each child node exactly fills a meshlet. At the same time, the corresponding texture is cut into mip-blocks according to physical pages; finally, the meshlet and the first mip-block are combined and regarded as a minimum renderable fragment, and the byte size of the minimum renderable fragment and its continuous offset in the resource package are recorded.

[0061] Meshletization, or mesh shader, is an advanced graphics rendering technique that organizes the vertex data of a 3D model into small, independent units called meshlets; physical pages are 4kB or 64kB.

[0062] The system reads the current sustained read rate of the disk, the current sustained decoder rate, and the current sustained upload rate from main memory to video memory. Combined with the predicted occurrence time of the LOD block and the total byte size of the minimum renderable fragment on the disk, the system determines the latest start time of each minimum renderable fragment for each LOD block.

[0063]

[0064] in, Indicates the first The first LOD block The latest startup time for the smallest renderable fragment; Indicates the first The absolute timestamp at which each LOD block is expected to first appear on the screen; represents a preset buffer time; represents the first LOD chunk represents the first minimum renderable tile of the LOD chunk represents the total byte size of the first minimum renderable tile of the LOD chunk on the disk; represents the actual sustained read rate of the current system disk; represents the actual sustained decoding rate of the current decoder; represents the sustained upload rate from the main memory to the video memory.

[0065] represents the absolute timestamp of the first time when the LOD chunk is expected to appear on the screen, and when the absolute timestamp is equal to 0, it indicates that the LOD chunk is currently visible; when the absolute timestamp is greater than 0, it indicates that the LOD chunk is visible in the future. The absolute timestamp of the first time when the LOD chunk is expected to appear on the screen can be determined according to the predicted appearance time of the LOD chunk.

[0066] The preset buffer time is used to absorb minor jitter caused by operating system scheduling, thread switching, queue submission, etc. The preset buffer time should be greater than or equal to 5 ms and less than or equal to 20 ms. In this embodiment, the value of the buffer time is 10 ms.

[0067] After the LOD chunk is subdivided into different minimum renderable tiles, the processing flow for each minimum renderable tile is to read from the disk first, decode by the CPU decoder, and upload to the video memory. The minimum bandwidth of the entire tile processing flow is jointly determined by the real-time disk bandwidth, the CPU decoding bandwidth, and the PCIe / video memory upload bandwidth. For each minimum renderable tile, the latest start time of the minimum renderable tile is determined according to the total byte size of the minimum renderable tile on the disk, the actual sustained read rate of the current system disk, the actual sustained decoding rate of the current decoder, the sustained upload rate from the main memory to the video memory, and the buffer time.

[0068] If the current time has exceeded the latest start time of the minimum renderable tile, the reading of the minimum renderable tile should be started immediately. Different minimum renderable tiles are scheduled according to the latest start time. The scheduler sorts the minimum renderable tiles in the order from early to late according to the latest start time, and starts the minimum renderable tiles in turn. The EDF earliest deadline first strategy is used to perform global sorting with the latest start time as the deadline. When there is an idle in reading, decoding, or uploading, the task closest to the latest start time is preferentially selected for execution. If the task misses the start time due to insufficient resources, the task is preempted for execution when there is an idle, so as to ensure that each minimum renderable tile can complete loading, decoding, and uploading before rendering.

[0069] At this point, the minimum renderable tiles are started in turn according to the latest start time.

[0070] Step S003, according to the difference between the effective byte amount of all the minimum renderable fragments of the LOD chunk that have been uploaded and the total byte size of the LOD chunk on the disk, different rendering strategies are assigned to the LOD chunk, and rendering of the building information model is realized.

[0071] Even if optimized through the fragment strategy, there will be an instantaneous resource gap, so if the traditional strategy of uploading the entire LOD chunk and then rendering is adopted, it may cause loading delay, screen holes or flicker. In order to avoid this problem, the uploaded byte amount is mapped in real time as the perceptual quality, and different minimum renderable fragments of the LOD chunk are placed in different rendering stages, so that the renderer can immediately preoccupy with outlines, low-resolution textures or simplified meshes when the data is not complete, and gradually replace and integrate details as more bytes arrive, so as to eliminate visible jumps and reduce loading delay.

[0072] Among them, the calculation formula of perceptual quality is:

[0073]

[0074] Among them, represents the perceptual quality of the LOD chunk at time . represents the truncation function, which ensures that the value of perceptual quality is greater than or equal to 0 and less than or equal to 1; represents the effective byte amount of all the minimum renderable fragments of the LOD chunk at time . represents the total byte size of the LOD chunk on the disk.

[0075] It can be understood that the number of data bytes successfully written into the GPU accessible memory is counted and accumulated in real time by the uploading thread, and the effective byte amount of all the minimum renderable fragments of the LOD chunk that have been uploaded is obtained.

[0076] Perceptual quality represents the degree to which the ready data of the LOD chunk can restore the details of the original LOD chunk, so that the current LOD chunk can be placed in different rendering stages according to the perceptual quality, realizing progressive rendering of data, and at the same time providing a basis for resource recycling of the memory.

[0077] ​​​Preferably, as an embodiment of the present application, the rendering stage is divided into four stages: the first stage is the placeholder stage, only the simplest point cloud, bounding box or impostor is used to ensure that the outline and occlusion relationship are correct; the second stage is the low-quality stage, the first batch of meshlets and the lowest mip texture are used, temporal blending is enabled, and hard cutting is eliminated; the third stage is the medium-quality stage, meshlets and higher mips are continuously added, and dynamic priority refinement according to screen heat area is performed; the fourth stage is the high-quality stage, the data is completely ready, the switch is made to complete geometry and the highest texture, and the placeholder buffer is released.

[0078] The value of the perceived quality of the LOD block is used to assign different rendering strategies to the LOD block, preferably, as an embodiment of the present application, the placeholder stage is used for the LOD block with a perceived quality less than 0.05, the low-quality stage is used for the LOD block with a perceived quality less than 0.5 and greater than or equal to 0.05, the medium-quality stage is used for the LOD block with a perceived quality less than 1 and greater than or equal to 0.5, and the high-quality stage is used for the LOD block with a perceived quality equal to 1.

[0079] When the rendering stage changes, the GPU upload thread writes the new meshlet and texture block to the persistent mapping buffer, and records the GPU fence. The rendering thread detects the completion of the fence in the next frame, atomically replaces the VB / IB / texture descriptor, enables temporal blending, and the previous stage and the new stage are mixed out within 4-6 frames.

[0080] When the video memory is insufficient, first compare according to the Tier value from large to small, compare according to the byte from small to large when the Tier value is the same, compare according to the perceived quality from small to large when they are still the same, and compare according to the memory usage per unit quality ratio from large to small when they are still the same, and the rendered LOD block is recycled.

[0081] Thus, the efficient rendering of the building information model with reduced loading delay is realized.

[0082] The above only describes the preferred embodiments of the present application and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for efficient rendering of building information models with reduced loading latency, characterized in that, The method includes the following steps: Extract the number of visible and unobstructed screen-occupied pixels in the current frame within the LOD block from the BIM model, as well as the total byte size of the LOD block on the disk. Assign values ​​to the visibility level and relative screen-occupied area of ​​the LOD block based on the number of visible and unobstructed screen-occupied pixels in the current frame within the LOD block, determine the predicted occurrence time of the LOD block, and sort the LOD blocks according to the visibility level, predicted occurrence time, the inverse of the relative screen-occupied area, and the total byte size of the LOD block on the disk to obtain a priority queue. The LOD block is decomposed into different minimum renderable fragments. The actual continuous read rate of the current system disk, the actual continuous decoding rate of the current decoder, and the continuous upload rate from the main memory to the video memory are read respectively. Combined with the predicted occurrence time of the LOD block and the total byte size of the minimum renderable fragment on the disk, the latest start time of each minimum renderable fragment of each LOD block is determined. Based on the latest start time, the minimum renderable fragments are started sequentially. Based on the difference between the number of valid bytes uploaded by all the smallest renderable fragments of the LOD block and the total number of bytes of the LOD block on the disk, different rendering strategies are assigned to the LOD block to realize the rendering of the building information model. The formula for calculating the latest start time of the minimum renderable fragment is: in, Indicates the first The first LOD block The latest startup time for the smallest renderable fragment; Indicates the first The absolute timestamp at which each LOD block is expected to first appear on the screen; Indicates the preset buffer time; Indicates the first The first LOD block The total size of the smallest renderable slice in bytes on disk; This indicates the current sustained read rate of the system disk; This indicates the current continuous decoding rate of the decoder; This indicates the current continuous upload rate from main memory to video memory; The method for assigning different rendering strategies to LOD blocks based on the difference between the effective byte size of all minimum renderable fragments uploaded to the LOD block and the total byte size of the LOD block on disk includes the following specific methods: The perceived quality is calculated based on the difference between the number of valid bytes uploaded by all the smallest renderable fragments of the LOD block and the total number of bytes on the LOD block on disk. Based on perceived quality, different LOD blocks are rendered using placeholder, low-quality, medium-quality, and high-quality levels respectively. The formula for calculating the perceived quality is: in, Indicates time Time Perceived quality of each LOD block; This represents the truncation function; Indicates time Time The number of valid bytes uploaded for all the smallest renderable fragments of each LOD block; Indicates the first The total size of each LOD block in bytes on disk.

2. The efficient rendering method for building information models with reduced loading latency according to claim 1, characterized in that, The specific method for assigning the visibility level of the LOD block is as follows: When a LOD block is visible in the current frame, the ratio of the number of screen-occupied pixels that are visible and not occluded in the current frame to the total number of screen pixels within the LOD block is denoted as the visible pixel ratio of the LOD block. Based on the visible pixel ratio of the LOD block, the visibility level of the LOD block is assigned a value of 0, 1 or 2; When the LOD block is not visible in the current frame, determine the predicted occurrence time of the LOD block. When the LOD block appears within the preset time window, assign the visibility level of the LOD block to 3. If a LOD block does not appear within a preset time window, the visibility level of the LOD block is assigned a value of 4.

3. The efficient rendering method for building information models with reduced loading latency according to claim 1, characterized in that, The specific method for assigning the relative screen ratio is as follows: The number of pixels covered when the bounding box of an LOD block is projected onto screen space is denoted as the number of projected pixels of the LOD block. The ratio of the number of projected pixels of the LOD block to the total number of pixels on the screen is denoted as the relative screen ratio of the LOD block.

4. The efficient rendering method for building information models with reduced loading latency according to claim 2, characterized in that, The specific method for determining the predicted occurrence time of the LOD block is as follows: When a LOD block is visible in the current frame, the predicted occurrence time of the LOD block is set to 0; When a LOD block is not expected to occur, the predicted occurrence time of the LOD block is assigned a value of positive infinity.

5. The efficient rendering method for building information models with reduced loading latency according to claim 1, characterized in that, The method for arranging LOD blocks and obtaining a priority queue based on their visibility level, predicted occurrence time, the inverse of their relative screen occupancy, and the total byte size of the LOD blocks on disk includes the following specific methods: The visibility level, predicted occurrence time, inverse of relative screen occupancy, and total byte size of the LOD blocks on disk are compared sequentially. Based on the comparison results, all LOD blocks are arranged in ascending order to obtain a priority queue.

6. The efficient rendering method for building information models with reduced loading latency according to claim 1, characterized in that, The specific methods for decomposing LOD blocks into different minimum renderable fragments are as follows: When constructing the BIM model, perform a uniform spatial subdivision of the LOD block mesh to obtain the bounding box nodes; Perform GPU-driven meshletization on each node, so that the number of vertices in each child node fills a meshlet, and cut the corresponding texture into mip-blocks according to physical pages; Combine the meshlet and the first mip-block and denote it as the smallest renderable fragment.

7. The efficient rendering method for building information models with reduced loading latency according to claim 1, characterized in that, The specific method for sequentially starting the smallest renderable fragment based on the latest start time includes: Each smallest renderable fragment is started sequentially from earliest to latest according to its latest start time.

Citation Information

Patent Citations

  • LOD-based BIM model lightweight construction and display method

    CN114283231A

  • Fabricated building management method and system based on BIM and cloud service

    CN119151213A