Rendering performance optimization method for digital three-dimensional scene

By using occlusion query and LOD technology in three-dimensional rendering, combined with proxy geometry, the equipment models in complex scenarios in the power industry are optimized, which solves the bottleneck of performance of traditional rendering methods and improves rendering performance and user experience.

CN119579790APending Publication Date: 2025-03-07BEIJING JOIN BRIGHT DIGITAL POWER TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411694381.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-25
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

Traditional three-dimensional rendering methods face performance bottlenecks when dealing with complex three-dimensional scenarios in the power industry, resulting in frame rate drops and interaction delays, affecting the user experience.

Method used

Through occlusion query and LOD technology, combined with proxy geometry, key device models in three-dimensional scenes are selectively optimized, dynamically adjusting the rendering state and resolution, and reducing unnecessary rendering calculations.

Benefits of technology

On the premise of ensuring rendering quality, the overall performance and fluency are improved, and the rendering load is reduced, especially when scene rotation and scaling, ensuring high frame rate operation and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119579790A_ABST
    Figure CN119579790A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of three-dimensional rendering loading optimization, in particular to a digital three-dimensional scene rendering performance optimization method, which comprises the following steps of S1, defining a model of which the parameter value is greater than or equal to a parameter preset value as a heavy model, and marking the heavy model; s2, judging whether the heavy model in the digital three-dimensional scene is completely shielded or not, removing the completely shielded heavy model, and generating a proxy geometry at an original position; and S3, if the distance between the model and the camera is greater than or equal to the preset distance value, reducing the resolution, and if the distance between the model and the camera is less than the preset distance value, improving the resolution. According to the method, the key equipment model in the three-dimensional scene is selectively optimized by combining the proxy geometry through the shielding query and the LOD technology, so that the overall performance and smoothness are improved on the premise of ensuring the rendering quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of three-dimensional rendering loading optimization, and in particular to a rendering performance optimization method for a digital three-dimensional scene. Background Art

[0002] With the advancement of computer technology, the demand for rendering 3D scenes is growing, especially in industries such as electricity, construction, and urban planning, where complex 3D visualization has become an important application scenario. In these fields, 3D models usually contain thousands or even tens of thousands of objects, and these objects have different geometric complexity and material properties. Traditional rendering methods face performance bottlenecks when processing these complex scenes, especially in real-time rendering and user interaction, where low frame rates and delays seriously affect the user experience.

[0003] For example, in the visualization of substations in the power industry, there are many types of equipment, usually including transformers, switches, circuit breakers and other equipment. Each device has its own unique geometry and material properties, which increases the complexity of rendering. As the number of devices increases, the amount of data that the rendering engine needs to process increases dramatically, resulting in a drop in frame rate and affecting the smoothness of user operations. Therefore, effective optimization techniques are urgently needed to improve rendering performance to meet the needs of real-time interaction. Summary of the invention

[0004] In order to solve the technical problem that traditional rendering methods are difficult to efficiently handle the real-time rendering of all models in large-scale three-dimensional power scenes due to the presence of a large number of complex equipment and geometric details, resulting in a decrease in frame rate and interaction delay, the present invention provides a rendering performance optimization method for digital three-dimensional scenes. Through occlusion query and LOD technology, combined with proxy geometry, the key equipment models in the three-dimensional scene are selectively optimized, thereby improving the overall performance and fluency while ensuring the rendering quality.

[0005] The technical solution adopted by the present invention is to provide a method for optimizing the rendering performance of a digital three-dimensional scene, comprising the following steps:

[0006] S1. When a digital three-dimensional scene is loaded, parameters of each model included in the digital three-dimensional scene are obtained, and models whose parameter values ​​are greater than or equal to preset parameter values ​​are defined as heavy models, and are marked;

[0007] S2, using occlusion query to determine whether the heavy model in the digital three-dimensional scene is completely occluded, removing the completely occluded heavy model, and generating a proxy geometry at the original position, and loading and rendering the heavy model that is not completely occluded;

[0008] S3. Determine the display resolution based on the LOD and the distance between each model in the digital three-dimensional scene and the camera. When the distance between the model and the camera is greater than or equal to a preset distance value, the resolution is reduced. When the distance between the model and the camera is less than the preset distance value, the resolution is increased.

[0009] The method also includes step S4, in which the proxy geometry and the heavy model conversion are dynamically adjusted when the angle between the model and the camera changes. Specifically, when the proxy geometry is no longer completely occluded, it is restored to the corresponding heavy model and loaded for rendering. If the heavy model that is not completely occluded and has been loaded for rendering becomes completely occluded, it is removed and replaced by the proxy geometry.

[0010] The method also includes step S5, dynamically adjusting the display resolution of the heavy model when the distance between the model and the camera changes. Specifically, when the distance between the heavy model and the camera changes from greater than or equal to the preset distance value to less than the preset distance value, the resolution is increased; and when the distance between the heavy model and the camera changes from less than the preset distance value to greater than or equal to the preset distance value, the resolution is decreased.

[0011] The model parameters include geometric complexity, number of vertices and materials.

[0012] The proxy geometry is a solid figure formed by a plurality of faces, and the solid figure has the same size, shape and scale as the corresponding removed heavy model.

[0013] The specific steps of screening the heavy model in step S1 are:

[0014] S1.1, read the three-dimensional scene data and obtain the parameters of each model;

[0015] S1.2. Create a list containing all models; the list contains model parameters;

[0016] S1.3. Set the threshold. Before loading the model, read the model parameters from the list, calculate the model complexity with the model parameters, and compare it with the threshold. When the model complexity value is greater than the threshold, the model is defined as a heavy model and marked.

[0017] The specific process of determining the completely occluded model through occlusion query in step S2 is as follows:

[0018] S2.1. Calculate the six planes of the viewing cone based on the camera's viewing angle and the near and far clipping planes, including front, back, left, right, top, and bottom.

[0019] S2.2, filter out the heavy models within the visible range of the visual frustum;

[0020] S2.3, during each frame rendering process, using the depth buffer, writing the depth value of each vertex of the heavy model into the depth buffer;

[0021] S2.4. Compare the vertex depth value of the heavy model with the depth value of the foreground model. If the depth value of the heavy model is greater than the depth value of the foreground model, it is determined that the heavy model is completely occluded, and then the heavy model is removed and a proxy geometry is generated at the original position.

[0022] The beneficial effects of the present invention are:

[0023] 1. The proxy geometry technology proposed in the present invention avoids invalid rendering calculations by replacing complex occlusion models with simplified proxy geometry, while retaining the continuity of occlusion queries, enabling the system to efficiently manage the rendering status of the device in complex scenes.

[0024] 2. By screening heavy models, the 3D scene loading system only optimizes geometrically complex models, avoiding the performance overhead caused by occlusion queries for each object, improving rendering efficiency, achieving selective optimization, and reducing overhead.

[0025] 3. Through proxy geometry and LOD technology, the 3D scene loading system can dynamically adjust the rendering state of the device and reduce unnecessary computing burden, especially ensuring high frame rate operation when the scene is rotated and scaled, thereby improving rendering performance and user experience.

[0026] 4. This method is not only applicable to digital three-dimensional scenes in the power industry, but can also be applied to other fields that need to process large and complex three-dimensional scenes, such as urban planning and industrial design, and has a wide range of applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is a flow chart of the present invention. DETAILED DESCRIPTION

[0028] like Figure 1 As shown, the present invention provides a method for optimizing the rendering performance of a digital three-dimensional scene, comprising the following steps:

[0029] S1. When a digital three-dimensional scene is loaded, parameters of each model included in the digital three-dimensional scene are obtained, and models whose parameter values ​​are greater than or equal to preset parameter values ​​are defined as heavy models, and are marked;

[0030] S2, using occlusion query to determine whether the heavy model in the digital three-dimensional scene is completely occluded, removing the completely occluded heavy model, and generating a proxy geometry at the original position, and loading and rendering the heavy model that is not completely occluded;

[0031] S3. Determine the display resolution based on the LOD and the distance between each model in the digital three-dimensional scene and the camera. When the distance between the model and the camera is greater than or equal to a preset distance value, the resolution is reduced. When the distance between the model and the camera is less than the preset distance value, the resolution is increased.

[0032] like Figure 1 As shown, step S4 is also included, in which the proxy geometry and the heavy model conversion are dynamically adjusted when the angle between the model and the camera changes. Specifically, when the proxy geometry is no longer completely occluded, it is restored to the corresponding heavy model and loaded for rendering. If the heavy model that is not completely occluded and has been loaded for rendering becomes completely occluded, it is removed and replaced by the proxy geometry.

[0033] like Figure 1 As shown, step S5 is also included, when the distance between the model and the camera changes, the display resolution of the heavy model is dynamically adjusted. Specifically, when the distance between the heavy model and the camera changes from greater than or equal to the preset distance value to less than the preset distance value, the resolution is increased, and when the distance between the heavy model and the camera changes from less than the preset distance value to greater than or equal to the preset distance value, the resolution is reduced.

[0034] like Figure 1 As shown, the model parameters include geometric complexity, number of vertices and material.

[0035] like Figure 1 As shown, the proxy geometry is a solid figure formed by a plurality of faces, and the solid figure has the same size, shape and scale as the corresponding removed heavy model.

[0036] like Figure 1 As shown, the screening of the heavy model in the step S1 is specifically as follows:

[0037] S1.1, read the three-dimensional scene data and obtain the parameters of each model;

[0038] S1.2. Create a list containing all models; the list contains model parameters;

[0039] S1.3. Set the threshold. Before loading the model, read the model parameters from the list, calculate the model complexity with the model parameters, and compare it with the threshold. When the model complexity value is greater than the threshold, the model is defined as a heavy model and marked.

[0040] like Figure 1 As shown, the specific process of determining the completely occluded model through occlusion query in step S2 is as follows:

[0041] S2.1. Calculate the six planes of the viewing cone based on the camera's viewing angle and the near and far clipping planes, including front, back, left, right, top, and bottom.

[0042] S2.2, filter out the heavy models within the visible range of the visual frustum;

[0043] S2.3, during each frame rendering process, using the depth buffer, writing the depth value of each vertex of the heavy model into the depth buffer;

[0044] S2.4. Compare the vertex depth value of the heavy model with the depth value of the foreground model. If the depth value of the heavy model is greater than the depth value of the foreground model, it is determined that the heavy model is completely occluded, and then the heavy model is removed and a proxy geometry is generated at the original position.

[0045] The specific implementation process of the present invention is as follows:

[0046] S1. Scene loading and model screening

[0047] When the system loads a 3D scene, it analyzes the geometric complexity, number of vertices, and material parameters of each power equipment model, and automatically selects heavy models with complex geometry and a large impact on rendering performance. For example, models with a vertex number exceeding a certain threshold will be marked as heavy models, and ordinary models will be directly rendered without complex processing.

[0048] The system reads 3D scene data from the file system, such as using OBJ, FBX or other formats, and parses the geometric data of each model, such as vertices, normal vectors, and texture coordinates.

[0049] (1) Create a list M containing all models, each model mi contains attributes P:

[0050] M=[m1,m2,...,m n ]

[0051] (2) Initialize the rendering pipeline and allocate GPU resources to each model.

[0052] (3) Geometric complexity analysis: Traverse the model list M, analyze the number of vertices, geometric complexity, and material properties of each model, set a threshold T, such as 10,000 vertices, and screen the models:

[0053] R={m i |V(m i )>T}

[0054] Where V(mi) represents the number of vertices of model mi, and R is the set of heavy models.

[0055] (4) Filter out the heavy models and mark them.

[0056] S2, Occlusion Queries and Proxy Geometry Replacement

[0057] For the filtered heavy models, the system applies occlusion queries to detect in real time whether these device models are occluded by other objects. When a heavy model is completely occluded, the system removes the model from the rendering pipeline, but in order to ensure the continuity of the occlusion query, a simplified proxy geometry is generated to replace the original model for rendering.

[0058] (1) Calculate the view frustum: Based on the position and orientation of the camera, calculate the six planes of the view frustum C, including front, back, left, right, top, and bottom. The view frustum is defined by the camera's viewing angle and the near and far clipping planes.

[0059] (2) The frustum plane formula can be derived from the camera's view matrix. Let the camera position be P c and the camera viewing direction is D, then the plane normal vector N can be expressed as:

[0060] N=P c +d·D

[0061] Where d is the distance from the plane to the camera.

[0062] (3) The six planes of the viewing frustum are used to select the heavy models within the visible range of the viewing frustum.

[0063] (4) Occlusion query is used to detect whether the model mi is occluded by other models, using depth buffer technology. When rendering each model, the depth buffer is used to write the vertex depth value of each heavy model into the depth buffer.

[0064] (5) When rendering model mi, check the relationship between its depth value and the depth buffer, compare the vertex depth value of model mi with the depth value of the foreground model, if the depth value of model mi is greater than the depth value of the foreground model, then it is determined that model mi is completely occluded, then remove model mi, and generate a proxy geometry at the original position.

[0065] (6) Generation and dynamic replacement of proxy geometry

[0066] Proxy geometry is a simplified geometric model whose geometric features are consistent with the original model, such as position, size, and scale. The generation of proxy geometry ensures that the complex model in the scene is not completely removed, but instead occupies the spatial position with a simple geometry and continues to participate in occlusion queries. Once the proxy geometry is no longer occluded, the system will resume rendering the original model.

[0067] Create proxy geometry: For the fully occluded heavy model mi, generate a simplified proxy geometry Pi whose geometric features are consistent with the original model. The generation of proxy geometry ensures that complex equipment is not completely removed, but instead uses a simplified model to occupy its spatial position:

[0068] The proxy geometry participates in occlusion queries to maintain continuity in the system.

[0069] When the proxy geometry Pi is no longer occluded, the rendering of the original model is resumed.

[0070] S3, combined with LOD technology

[0071] To further optimize performance, LOD technology is applied to heavy models, automatically switching the device resolution according to the distance from the camera. For devices at a long distance, the system renders low-resolution models to ensure that rendering overhead in complex scenes is minimized.

[0072] By combining proxy geometry and LOD technology, the system can significantly reduce the rendering load while maintaining the visual quality and continuity of the scene, improving the overall frame rate, especially when the scene is rotated and scaled, thereby improving the user's operating experience.

[0073] The following is a description of the technical terms involved in the present invention:

[0074] Three-dimensional scene: A 3D scene refers to a collection of virtual or real objects presented in three-dimensional space, which is visualized through computer graphics technology.

[0075] Level of Detail (LOD): It is an optimization technology that switches models of different resolutions according to the distance between the object and the camera to reduce the rendering burden. Low-resolution models are used when the distance is far, and high-resolution models are used when the distance is close, ensuring a balance between performance and visual effects at different viewing distances.

[0076] Occlusion Query: Occlusion query is a technique for detecting whether an object is occluded by other objects during graphics rendering. The depth buffer is used to detect whether the occluded object needs to be rendered to reduce unnecessary rendering calculations.

[0077] View Frustum: The view frustum is a cone-shaped space formed after projection transformation from the camera, which contains all visible objects. During the rendering process, the view frustum is used to determine whether the object is within the field of view, so as to determine whether it needs to be rendered.

[0078] Proxy Geometry: Proxy geometry is a simplified geometric model used to replace a complex model. Its position and basic features are consistent with the original model, but its geometric complexity is low to reduce rendering overhead. In the present invention, it is used to occupy the position of the occluded device so that it continues to participate in the occlusion query.

[0079] Depth Buffer: The depth buffer is a cache used to store pixel depth values ​​during the rendering process, which is used to determine the front-back relationship of pixels. The smaller the depth value, the closer the pixel is to the camera. The visibility of the object can be determined based on the value of the depth buffer during occlusion query.

[0080] Heavy models: Heavy models mentioned in this invention refer to models with high geometric complexity, vertex count or material complexity exceeding a certain threshold. Heavy models usually have a greater impact on rendering performance, so these models are given priority in optimization.

[0081] Foreground model: The foreground model mentioned in this invention refers to the object closest to the observer in the viewing angle during 3D rendering. Its depth value is the smallest, which means that it is visually located in front of other objects and may block those objects that are farther away. When rendering, the foreground model is usually the object displayed first, which determines which objects need to be rendered and which can be replaced or ignored.

Claims

1. A method for optimizing rendering performance of a digital three-dimensional scene, characterized in that: The following steps are included: S1. When a digital three-dimensional scene is loaded, parameters of each model included in the digital three-dimensional scene are obtained, and models whose parameter values ​​are greater than or equal to preset parameter values ​​are defined as heavy models, and are marked; S2, using occlusion query to determine whether the heavy model in the digital three-dimensional scene is completely occluded, removing the completely occluded heavy model, and generating a proxy geometry at the original position, and loading and rendering the heavy model that is not completely occluded; S3. Determine the display resolution based on the LOD and the distance between each model in the digital three-dimensional scene and the camera. When the distance between the model and the camera is greater than or equal to a preset distance value, the resolution is reduced. When the distance between the model and the camera is less than the preset distance value, the resolution is increased.

2. The method for optimizing rendering performance of a digital three-dimensional scene according to claim 1, characterized in that: The method also includes step S4, in which the proxy geometry and the heavy model conversion are dynamically adjusted when the angle between the model and the camera changes. Specifically, when the proxy geometry is no longer completely occluded, it is restored to the corresponding heavy model and loaded for rendering. If the heavy model that is not completely occluded and has been loaded for rendering becomes completely occluded, it is removed and replaced by the proxy geometry.

3. A method for optimizing rendering performance of a digital three-dimensional scene according to claim 1 or 2, characterized in that: The method also includes step S5, dynamically adjusting the display resolution of the heavy model when the distance between the model and the camera changes. Specifically, when the distance between the heavy model and the camera changes from greater than or equal to the preset distance value to less than the preset distance value, the resolution is increased; and when the distance between the heavy model and the camera changes from less than the preset distance value to greater than or equal to the preset distance value, the resolution is decreased.

4. The method for optimizing rendering performance of a digital three-dimensional scene according to claim 1, characterized in that: The model parameters include geometric complexity, number of vertices and materials.

5. The method for optimizing rendering performance of a digital three-dimensional scene according to claim 1, characterized in that: The proxy geometry is a solid figure formed by a plurality of faces, and the solid figure has the same size, shape and scaling as the corresponding removed heavy model.

6. The method for optimizing rendering performance of a digital three-dimensional scene according to claim 1, characterized in that: The specific steps of screening the heavy model in step S1 are: S1.1, read the three-dimensional scene data and obtain the parameters of each model; S1.

2. Create a list containing all models; the list contains model parameters; S1.

3. Set the threshold. Before loading the model, read the model parameters from the list, calculate the model complexity with the model parameters, and compare it with the threshold. When the model complexity value is greater than the threshold, the model is defined as a heavy model and marked.

7. The method for optimizing rendering performance of a digital three-dimensional scene according to claim 1, characterized in that: The specific process of determining the completely occluded model through occlusion query in step S2 is as follows: S2.

1. Calculate the six planes of the viewing cone based on the camera's viewing angle and the near and far clipping planes, including front, back, left, right, top, and bottom. S2.2, filter out the heavy models within the visible range of the visual frustum; S2.3, during each frame rendering process, using the depth buffer, writing the depth value of each vertex of the heavy model into the depth buffer; S2.

4. Compare the vertex depth value of the heavy model with the depth value of the foreground model. If the depth value of the heavy model is greater than the depth value of the foreground model, it is determined that the heavy model is completely occluded, and then the heavy model is removed and a proxy geometry is generated at the original position.