3D model rendering speed optimization methods, devices, equipment and storage media

By performing test rendering and view grouping on 3D models, the rendering area was optimized, solving the problem of slow rendering speed for high-precision models and improving user experience and operational efficiency.

CN120833429BActive Publication Date: 2025-12-02SHANGHAI HANBANG UNITED 3D TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511342571.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-19
Publication Date
2025-12-02
Estimated Expiration
2045-09-19

AI Technical Summary

Technical Problem

Traditional rendering engines face high computational pressure when processing high-precision 3D models, resulting in decreased rendering frame rates, sluggish interface response, and impacting user interaction smoothness and operational efficiency.

Method used

By acquiring the 3D model data to be rendered, test rendering and view grouping are performed to optimize the division of the rendering area, reduce invalid rendering tasks, and improve rendering speed.

Benefits of technology

The rendering speed of 3D models has been optimized, improving user experience and interaction smoothness, especially in high-frequency operation scenarios such as rotation, scaling, and translation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120833429B_ABST
    Figure CN120833429B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, and storage medium for optimizing 3D model rendering speed. The method involves acquiring 3D model data to be rendered; performing test rendering based on the 3D model data to obtain test rendering results; grouping the test rendering results into viewports to obtain the current viewport's test rendering results; and rendering the 3D model to be rendered based on the current viewport's test rendering results to obtain the rendered 3D model. This application divides the 3D model to be rendered into rendering regions through viewport grouping, thereby reducing unnecessary rendering tasks, optimizing 3D model rendering speed, and ultimately improving the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of 3D model rendering, and in particular to a method, apparatus, device and storage medium for optimizing 3D model rendering speed. Background Technology

[0002] Currently, in the digital workflow of the 3D printing industry, the rendering and display of 3D models is a crucial foundational technology. However, with the rapid development of high-precision 3D scanning technology and complex modeling software, the amount of data in 3D models is showing a dramatic increase. Faced with high-precision models with a massive number of vertices and faces, traditional rendering engines often face enormous computational pressure during real-time rendering. When the graphics system needs to process massive amounts of geometric data at once, it leads to a decrease in rendering frame rate, sluggish interface response, and even noticeable stuttering. This performance bottleneck severely disrupts the smoothness of interaction, making basic operations such as model rotation, scaling, and translation difficult, ultimately resulting in a significant decline in user experience.

[0003] To overcome the above limitations, there is an urgent need to obtain a 3D model rendering speed optimization method that can quickly identify the user's current rendering needs and realize model rendering data filtering and processing, so as to improve the speed of 3D model rendering and improve the user experience. Summary of the Invention

[0004] This application provides a method, apparatus, device, and storage medium for optimizing 3D model rendering speed to solve the aforementioned technical problems.

[0005] The first aspect of this application provides a method for optimizing 3D model rendering speed, including:

[0006] Obtain the 3D model data to be rendered;

[0007] Perform test rendering based on the 3D model data to be rendered, and obtain the test rendering results;

[0008] The test rendering results are divided into view boundaries to obtain the test rendering results of the current view boundary;

[0009] The 3D model to be rendered is rendered based on the test rendering results of the current view, resulting in the rendered 3D model.

[0010] In some embodiments, test rendering is performed based on the 3D model data to be rendered to obtain test rendering results, including:

[0011] The 3D model data to be rendered is parsed to obtain the data parsing results;

[0012] The data is grouped according to the data parsing results to obtain the grouped 3D model data to be rendered;

[0013] Test rendering is performed on the grouped 3D model data to be rendered, and the test rendering results are obtained.

[0014] In some embodiments, the 3D model data to be rendered is parsed to obtain data parsing results, including:

[0015] Position information is extracted from the 3D model data to be rendered to obtain the first data parsing result;

[0016] Normal vector information is extracted from the 3D model data to be rendered to obtain the second data parsing result;

[0017] Viewpoint information is extracted from the 3D model data to be rendered to obtain the third data parsing results;

[0018] The first, second, and third data parsing results are integrated to obtain the data parsing result.

[0019] In some embodiments, data is grouped according to the data parsing results to obtain grouped 3D model data to be rendered, including:

[0020] Get preset grouping rules;

[0021] Read the first data parsing result and the second data parsing result;

[0022] The data is grouped according to the preset grouping rules and the first data parsing result to obtain the initial group of 3D model data to be rendered;

[0023] Based on the preset grouping rules and the second data parsing results, the 3D model data to be rendered in the initial group is grouped to obtain the grouped 3D model data to be rendered.

[0024] In some embodiments, the test rendering results are grouped by view boundary to obtain the test rendering results of the current view boundary, including:

[0025] Read the third-party data parsing results;

[0026] Based on the third data parsing results, the test rendering results are grouped into view boundaries to obtain the test rendering results of the current view boundary.

[0027] In some embodiments, after obtaining the rendered 3D model, the method further includes:

[0028] Obtain the viewpoint information of the rendered 3D model;

[0029] The viewpoint information is compared with the third-party data analysis results to obtain the viewpoint comparison results;

[0030] When the viewpoint comparison results are different, the 3D model after the viewpoint change is re-rendered to obtain the re-rendered 3D model.

[0031] In some embodiments, when the viewpoint comparison results are different, the 3D model after the viewpoint transformation is re-rendered to obtain a re-rendered 3D model, including:

[0032] When the perspective comparison results are different, a delay report is generated based on the perspective information.

[0033] Based on the delay report, the viewport of the test rendering results is regrouped to obtain the test rendering results after viewport transformation.

[0034] Based on the test rendering results after the viewpoint transformation, the 3D model after the viewpoint transformation is re-rendered to obtain the re-rendered 3D model.

[0035] A second aspect of this application proposes a 3D model rendering speed optimization device, comprising a data acquisition module, a test rendering module, a view grouping module, and a model rendering module, wherein...

[0036] The data acquisition module is used to acquire the 3D model data to be rendered;

[0037] The test rendering module is used to perform test rendering based on the 3D model data to be rendered and obtain the test rendering results;

[0038] The view grouping module is used to group the test rendering results into view groups to obtain the test rendering results of the current view.

[0039] The model rendering module is used to render the 3D model to be rendered based on the test rendering results of the current view, and obtain the rendered 3D model.

[0040] A third aspect of this application provides an electronic device comprising: a memory; a processor; and one or more computer programs stored in the memory, the one or more computer programs including instructions that, when executed by the processor, enable the implementation of the 3D model rendering speed optimization method described above.

[0041] A fourth aspect of this application provides a computer-readable storage medium storing a computer program, wherein the storage medium stores a 3D model rendering speed optimization program, and the 3D model rendering speed optimization program, when executed by a processor, implements the steps of the 3D model rendering speed optimization method described above.

[0042] This application provides a method, apparatus, device, and storage medium for optimizing 3D model rendering speed. First, it acquires the 3D model data to be rendered; then, it performs test rendering based on the 3D model data to obtain test rendering results; next, it groups the test rendering results by viewport to obtain the test rendering results for the current viewport; finally, it renders the 3D model to be rendered based on the test rendering results for the current viewport, resulting in the rendered 3D model. This application divides the 3D model to be rendered into rendering regions by viewport grouping, thereby reducing unnecessary rendering tasks, optimizing 3D model rendering speed, and ultimately improving the user experience. Attached Figure Description

[0043] Figure 1 This is a schematic diagram of the structure of the 3D model rendering speed optimization device provided in the embodiments of this application.

[0044] Figure 2 This is a flowchart illustrating the 3D model rendering speed optimization method provided in the embodiments of this application.

[0045] Figure 3 yes Figure 2 A schematic diagram of the sub-process of step S20.

[0046] Figure 4 yes Figure 3 A schematic diagram of the sub-process of step S21.

[0047] Figure 5 yes Figure 3 A schematic diagram of the sub-process of step S22.

[0048] Figure 6 yes Figure 2 A schematic diagram of the sub-process of step S30.

[0049] Figure 7 This is a structural block diagram of the 3D model rendering speed optimization device provided in the embodiments of this application.

[0050] Figure 8 This is a structural block diagram of the 3D model rendering speed optimization device provided in the embodiments of this application. Detailed Implementation

[0051] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application.

[0052] In the current digital workflow of the 3D printing industry, real-time rendering and visualization of 3D models has become a key foundational technology supporting the entire manufacturing process. It not only allows users to comprehensively and intuitively examine the structural features, morphological details, and spatial composition of the model before printing, but also provides crucial visual interactive support in pre-processing stages such as model positioning, support addition, size adjustment, and slice preview, significantly improving operational accuracy and user experience. However, with the widespread adoption of high-precision 3D scanning equipment and the extensive use of complex modeling software, the amount of geometric data contained in 3D models is growing exponentially. Models used in modern engineering and medical fields often contain millions or even tens of millions of vertices and triangles, forming high-density mesh models. Faced with such large-scale geometric data, traditional rendering architectures based on general-purpose graphics interfaces (such as OpenGL and DirectX) face severe challenges in real-time rendering. The core bottleneck lies in the fact that graphics processing units (GPUs) and graphics drivers need to process extremely large vertex buffers, index buffers, and state switching overhead per frame, while traditional rendering workflows typically submit the entire model or most of the model data to the GPU pipeline, lacking in-depth optimization for visibility and rendering batches. Especially when the system needs to process a massive number of primitives at once, it not only consumes a large amount of GPU vertex and fragment shader resources, but also increases the burden of CPU-side draw calls, causing a load imbalance between the CPU and GPU. This directly manifests as a sharp drop in rendering frame rate (FPS), delayed response of the visualization interface, blocked view transformation operations, and even continuous stuttering during interaction. This performance bottleneck severely restricts the smooth operation of high-precision models by users, especially in high-frequency interaction scenarios such as rotation, scaling, and translation, where the lag is obvious, thus significantly reducing the work efficiency and overall satisfaction of professional users in the preprocessing stage.

[0053] Therefore, this application provides a method, apparatus, device, and storage medium for optimizing 3D model rendering speed. The method involves acquiring 3D model data to be rendered; performing test rendering based on the 3D model data to obtain test rendering results; grouping the test rendering results into viewports to obtain the current viewport's test rendering results; and rendering the 3D model to be rendered based on the current viewport's test rendering results to obtain the rendered 3D model. This application divides the 3D model to be rendered into rendering regions through viewport grouping, thereby reducing unnecessary rendering tasks, optimizing 3D model rendering speed, and ultimately improving the user experience.

[0054] Reference Figure 1 , Figure 1 This is a schematic diagram of the electronic device structure according to an embodiment of this application. Figure 1As shown, the electronic device 1000 may include: a processor 1001, a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The processor 1001 may be, for example, a Central Processing Unit (CPU). The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard. Optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0055] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the electronic device 1000, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0056] Understandable, Figure 1 In the illustrated electronic device 1000, the network interface 1004 is mainly used for data communication with a network server. The user interface 1003 is mainly used for data interaction with the user. In this application, the electronic device 1000 uses the processor 1001 to call the control program stored in the memory 1005 to execute the 3D model rendering speed optimization method provided in the embodiments of this application.

[0057] Please refer to Figure 2 , Figure 2 This is a flowchart illustrating a 3D model rendering speed optimization method provided in an embodiment of this application. In some embodiments, the 3D model rendering speed optimization method may be... Figure 1 The electronic device 1000 in the system performs this operation. Specifically, for example... Figure 2 As shown, the method for optimizing 3D model rendering speed includes the following steps:

[0058] Step S10: Obtain the 3D model data to be rendered.

[0059] It is understood that, in some embodiments, the 3D model data to be rendered refers to the set of raw information required to draw the 3D model needed by the user. This may include vertex positions, normal vectors, texture coordinates to describe the shape of the 3D model, index data defining the composition of facets, and material parameters and texture maps that determine the appearance.

[0060] It should be noted that, in some embodiments, the process of obtaining the 3D model data to be rendered includes, but is not limited to, obtaining the polygon mesh data of the 3D model to be rendered.

[0061] Step S20: Perform test rendering based on the 3D model data to be rendered, and obtain the test rendering result.

[0062] It is understandable that in some implementations, due to the large size of the 3D model data to be rendered, rendering all the data directly would result in slow rendering speed, thus affecting the user experience. Therefore, test rendering can be performed first based on the 3D model data to be rendered, thereby collecting key information without consuming all resources, to guide subsequent formal rendering and achieve ultimate performance optimization.

[0063] It should also be noted that in some embodiments, the test rendering results are a kind of intermediate metadata, which can be used to quickly identify occluded objects and optimize rendering batches, greatly reduce unnecessary calculations, and thus significantly improve rendering efficiency and real-time performance, thereby providing intelligent decision-making basis for subsequent formal rendering.

[0064] Please refer to this as well. Figure 3 , Figure 3 yes Figure 2 A schematic diagram of the sub-process of step S20. In some embodiments, test rendering results can be obtained based on steps S21 to S23.

[0065] Step S21: Analyze the 3D model data to be rendered to obtain the data analysis results.

[0066] It is understood that, in some embodiments, the process of parsing the 3D model data to be rendered includes, but is not limited to, reading, calculating, optimizing, and reorganizing the 3D model data to be rendered, ultimately converting it into a format that the graphics rendering pipeline can efficiently process, such as vertex buffers, index buffers, and texture objects, and performing preprocessing for subsequent rendering optimization. The 3D model data to be rendered includes model parameters such as vertices, indices, and material information.

[0067] Please refer to this as well. Figure 4 , Figure 4 yes Figure 3A schematic diagram of the sub-process of step S21. In some embodiments, data parsing results can be obtained based on steps S211 to S214.

[0068] Step S211: Extract the position information of the 3D model data to be rendered to obtain the first data parsing result.

[0069] It is understood that, in some embodiments, the process of extracting positional information from the 3D model data to be rendered includes, but is not limited to, first reading vertex coordinates from the 3D model data to be rendered, then calculating the center points of the facets and constructing a hierarchical bounding volume, and finally obtaining the first data parsing result. The first data parsing result can serve as the data basis for positional grouping in subsequent data grouping processes.

[0070] Step S212: Extract normal vector information from the 3D model data to be rendered to obtain the second data parsing result.

[0071] It is understood that, in some embodiments, the process of extracting normal vector information from the 3D model data to be rendered includes, but is not limited to, first reading pre-calculated data from the 3D model data to be rendered or dynamically generating face normal vectors and vertex normal vectors based on geometric patches, and then obtaining the corresponding surface orientation information, i.e., the second data parsing result, after normalization and world space transformation.

[0072] Step S213: Extract the view information from the 3D model data to be rendered to obtain the third data parsing result.

[0073] It should be noted that in some embodiments, since the field of view corresponding to the user's viewing of the 3D model at any given time is fixed, in order to reduce the amount of data processed for model rendering and improve the model rendering speed, the rendering tasks corresponding to the parts of the model that the user cannot see at that time can be regarded as invalid tasks and not processed.

[0074] It is understood that, in some embodiments, extracting view information from the 3D model data to be rendered refers to extracting the view perspective information data of the user's current model view. The resulting third data parsing result is the view perspective information data corresponding to the part of the model currently viewed by the user.

[0075] Step S214: Integrate the first data parsing result, the second data parsing result, and the third data parsing result to obtain the data parsing result.

[0076] It is understood that in some embodiments, the data parsing results contain various types of information about the 3D model to be rendered, including but not limited to the position information of each subplane of the 3D model to be rendered, the normal vector information of each subplane of the 3D model to be rendered, and the view information corresponding to the current state of the 3D model to be rendered.

[0077] Step S22: Group the data according to the data parsing results to obtain the grouped 3D model data to be rendered.

[0078] It is understood that, in some embodiments, the process of grouping data based on the data parsing results includes, but is not limited to, classifying the 3D model data to be rendered into different subsets according to specific rules contained in the data parsing results. Its purpose is to significantly improve rendering efficiency and system performance by enhancing data locality, reducing redundant computation, and optimizing resource access.

[0079] refer to Figure 5 , Figure 5 yes Figure 3 A schematic diagram of the sub-process of step S22. In some embodiments, the grouped 3D model data to be rendered can be obtained based on the following steps S221 to S224.

[0080] Step S221: Obtain the preset grouping rules.

[0081] It is understood that in some embodiments, in order to improve the subsequent rendering speed, the 3D model data to be rendered can be grouped in a data grouping manner. The preset grouping rules used in the data grouping process include, but are not limited to, reasonably combining the 3D model data to be rendered based on data information such as the normal vector and position of the face, thereby realizing data grouping.

[0082] It should also be noted that in some embodiments, the preset grouping rules are the data grouping criteria set in advance by the user or the system. These rules include, but are not limited to, determining the precision of spatial division, such as defining the size of the spatial grid, defining an angle threshold (e.g., 15 degrees), where faces with a normal vector angle less than this threshold are considered to have "similar orientations", and defining the minimum number of faces that a group should contain in order to avoid generating too many meaningless micro-groups.

[0083] Step S222: Read the first data parsing result and the second data parsing result.

[0084] It is understood that, in some embodiments, the process of reading the first data parsing result and the second data parsing result is to obtain data information such as the normal vector and position of the surface, so as to prepare for subsequent data grouping.

[0085] Step S223: Group the data according to the preset grouping rules and the first data parsing result to obtain the initial grouped 3D model data to be rendered.

[0086] It is understood that, in some embodiments, the process of grouping data according to preset grouping rules and the first data parsing result includes, but is not limited to, allocating each data point in the 3D model data to be rendered to corresponding spatial units according to the data space rules in the preset grouping rules and the face position information in the first data parsing result. The data space rules in the preset grouping rules can be a set of spatial coordinate range constraints used to divide the 3D model space into multiple spatial grids. The face position information included in the first data parsing result can be the coordinate data of the center point of each face patch.

[0087] Step S224: Based on the preset grouping rules and the second data parsing results, the 3D model data to be rendered in the initial group is grouped to obtain the grouped 3D model data to be rendered.

[0088] It should be noted that, in some embodiments, the process of using preset grouping rules and the second data parsing results includes, but is not limited to, redistributing the data in the initially grouped 3D model data to be rendered into different data groups based on the face orientation rule in the preset grouping rules and the normal vector information of the faces in the second data parsing results. The face orientation rule in the preset grouping rules can be set such that faces with a normal vector angle less than 15 degrees are considered to have "similar orientations," i.e., they are classified into the same data group.

[0089] Step S23: Perform test rendering on the grouped 3D model data to be rendered, and obtain the test rendering results.

[0090] It is understood that, in some embodiments, performing test rendering on the grouped 3D model data to be rendered is a lightweight pre-computation process based on pre-classification visibility, that is, performing rendering pre-visualization on the grouped 3D model data to be rendered. This process includes, but is not limited to, first using the grouped 3D model data to be rendered to quickly generate intermediate data buffers such as depth and identifiers, i.e., test rendering results.

[0091] It is understandable that, in some embodiments, the purpose of test rendering of the grouped 3D model data to be rendered is to accurately remove occluded groups, optimize the drawing call merging strategy, and guide the level of detail and resource allocation before formal rendering, thereby significantly reducing the actual rendering load and improving the overall frame rate and interactive smoothness.

[0092] Step S30: Group the test rendering results into view boundaries to obtain the test rendering results of the current view boundary.

[0093] It is understood that, in some embodiments, the viewport grouping of the test rendering results is to distinguish the 3D model area that the user currently needs from the 3D model area that the user does not currently need, thereby obtaining the test rendering result corresponding to the 3D model area that the user currently needs.

[0094] Please refer to this as well. Figure 6 , Figure 6 yes Figure 2 A schematic diagram of the sub-process of step S30. In some embodiments, the test rendering result of the current view can be obtained based on the following steps S31 to S32.

[0095] Step S31: Read the third data parsing result;

[0096] It is understood that, in some embodiments, reading the third data parsing result is to obtain the perspective information corresponding to the 3D model currently being viewed by the user.

[0097] Step S32: Based on the third data parsing result, the test rendering result is divided into view groups to obtain the test rendering result of the current view.

[0098] It is understood that, in some embodiments, the process of grouping the test rendering results according to the third data parsing results includes, but is not limited to, distinguishing each group of data in the test rendering results according to the view information in the third data parsing results, wherein the group of data that meets the view information requirements is classified into the same type of group data, which is the test rendering result of the current view.

[0099] Step S40: Render the 3D model to be rendered based on the test rendering results of the current view, and obtain the rendered 3D model.

[0100] It is understood that, in some embodiments, the process of rendering the 3D model to be rendered based on the test rendering results of the current view includes, but is not limited to, first achieving accurate visibility and occlusion culling through the depth and identifier buffer information in the test rendering results of the current view, then optimizing and batching the rendering state of visible objects based on the grouping information in the test rendering results of the current view, dynamically scheduling the level of detail and resources, and finally executing drawing commands and lighting calculations in the optimized order to obtain the rendered 3D model.

[0101] This embodiment acquires the 3D model data to be rendered; performs test rendering based on the 3D model data to obtain test rendering results; groups the test rendering results into viewports to obtain the test rendering results for the current viewport; and renders the 3D model to be rendered based on the test rendering results for the current viewport to obtain the rendered 3D model. This embodiment divides the 3D model to be rendered into rendering regions by viewport grouping, thereby reducing unnecessary rendering tasks, optimizing 3D model rendering speed, and ultimately improving the user experience.

[0102] Furthermore, after obtaining the rendered 3D model, the process also includes: acquiring the viewpoint information of the rendered 3D model; comparing the viewpoint information with the third data parsing result to obtain the viewpoint comparison result; and when the viewpoint comparison result is different, re-rendering the 3D model after the viewpoint change to obtain the re-rendered 3D model.

[0103] It is understandable that in some embodiments, as the user's viewing perspective of the 3D model changes, the corresponding perspective information will also change, resulting in new unrendered 3D model areas. In order to meet the user's needs, the 3D model after the perspective change needs to be re-rendered.

[0104] Furthermore, when the viewpoint comparison results are different, the 3D model after viewpoint transformation is re-rendered to obtain a re-rendered 3D model, including: generating a delay report based on viewpoint information when the viewpoint comparison results are different; regrouping the viewpoint of the test rendering results based on the delay report to obtain the test rendering results after viewpoint transformation; and re-rendering the 3D model after viewpoint transformation based on the test rendering results after viewpoint transformation to obtain a re-rendered 3D model.

[0105] It is understood that, in some embodiments, a latency report is a specialized analysis document addressing performance latency issues arising during changes in the viewpoint of a rendered scene. This report records time-consuming data for key rendering stages before and after viewpoint changes, such as CPU preprocessing time, GPU rendering time, and frame generation intervals. Combined with contextual information such as the scene complexity after the change, the number of visible objects, and the number of rendering calls, it identifies performance bottlenecks exposed by viewpoint switching, such as suddenly increased occlusion calculations, material switching, or LOD scheduling overhead. Ultimately, it provides data to optimize viewpoint-related rendering logic and resource scheduling strategies, ensuring smooth interaction.

[0106] Reference Figure 7 , Figure 7 This is a structural block diagram of the 3D model rendering speed optimization device provided in the embodiments of this application. For example... Figure 7As shown, the 3D model rendering speed optimization device includes a data acquisition module 10, a test rendering module 20, a view grouping module 30, and a model rendering module 40, wherein...

[0107] The data acquisition module 10 is used to acquire the 3D model data to be rendered.

[0108] The test rendering module 20 is used to perform test rendering based on the 3D model data to be rendered, and obtain the test rendering results.

[0109] The view grouping module 30 is used to group the test rendering results into view groups to obtain the test rendering results of the current view.

[0110] The model rendering module 40 is used to render the 3D model to be rendered based on the test rendering results of the current view, and obtain the rendered 3D model.

[0111] This embodiment first acquires the 3D model data to be rendered; then, it performs test rendering based on the 3D model data to obtain the test rendering result; next, it groups the test rendering result by view fringes to obtain the test rendering result of the current view fringes; finally, it renders the 3D model to be rendered based on the test rendering result of the current view fringes to obtain the rendered 3D model. This embodiment, through a strategy combining view fringes grouping and test rendering, achieves reasonable scheduling of rendering tasks and optimized allocation of computing resources while maintaining rendering accuracy and model integrity. This not only significantly improves the rendering speed of 3D models but also brings users a more efficient and smoother visual interaction experience, demonstrating good practical value and promising prospects for wider application.

[0112] In addition, refer to Figure 8 , Figure 8 This is another structural block diagram of the 3D model rendering speed optimization device provided in this application embodiment. The device 2000 includes a processor 2001 and a memory 2002. The memory 2002 stores programs, instructions, or code for executing the aforementioned 3D model rendering speed optimization method. The processor 2001 executes the programs, instructions, or code stored in the memory 2002. The programs, instructions, or code stored in the memory 2002 are executable. Figures 2 to 6 The embodiments shown include some or all of the steps of the 3D model rendering speed optimization method.

[0113] Since this storage medium adopts all the technical solutions of all the above embodiments, it has at least all the beneficial effects brought about by the technical solutions of the above embodiments, which will not be repeated here.

[0114] Furthermore, embodiments of this application also propose a computer-readable storage medium storing a computer program, wherein the storage medium stores a 3D model rendering speed optimization program, and when the 3D model rendering speed optimization program is executed by a processor, it implements the steps of the 3D model rendering speed optimization method described above.

[0115] It should be understood that the above are merely illustrative examples and do not constitute any limitation on the technical solution of this application. In specific applications, those skilled in the art can make settings as needed, and this application does not impose any restrictions on this.

[0116] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this application. In practical applications, those skilled in the art can select some or all of it to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.

[0117] In addition, for technical details not described in detail in this embodiment, please refer to the 3D model rendering speed optimization method provided in any embodiment of this application, which will not be repeated here.

[0118] Furthermore, it should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0119] The sequence numbers of the embodiments in this application are for description only and do not represent the superiority or inferiority of the embodiments.

[0120] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0121] The above are merely preferred embodiments of this application and do not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A method for optimizing 3D model rendering speed, characterized in that, The method includes: Obtain the 3D model data to be rendered; The position information of the 3D model data to be rendered is extracted to obtain the first data parsing result; The normal vector information of the 3D model data to be rendered is extracted to obtain the second data parsing result; View information is extracted from the 3D model data to be rendered to obtain the third data parsing result; The first data parsing result, the second data parsing result, and the third data parsing result are integrated to obtain the data parsing result; Based on the data parsing results, the data is grouped to obtain the grouped 3D model data to be rendered; The grouped 3D model data to be rendered is then subjected to test rendering to obtain test rendering results; The test rendering results are grouped by view boundary to obtain the test rendering results of the current view boundary; Based on the test rendering results of the current view, the 3D model to be rendered is rendered to obtain the rendered 3D model.

2. The 3D model rendering speed optimization method according to claim 1, characterized in that, The step of grouping data according to the data parsing results to obtain grouped 3D model data to be rendered includes: Get preset grouping rules; Read the first data parsing result and the second data parsing result; Data is grouped according to the preset grouping rules and the first data parsing result to obtain the initial group of 3D model data to be rendered; Based on the preset grouping rules and the second data parsing result, the 3D model data to be rendered in the initial group is grouped to obtain the grouped 3D model data to be rendered.

3. The 3D model rendering speed optimization method according to claim 2, characterized in that, The step of grouping the test rendering results into view boundaries to obtain the test rendering results for the current view boundary includes: Read the third data parsing result; Based on the third data parsing result, the test rendering result is divided into view groups to obtain the test rendering result of the current view.

4. The 3D model rendering speed optimization method according to any one of claims 1 to 3, characterized in that, After obtaining the rendered 3D model, the method further includes: Obtain the viewpoint information of the rendered 3D model; The perspective information is compared with the third data parsing result to obtain the perspective comparison result; When the perspective comparison results are different, the 3D model after the perspective change is re-rendered to obtain the re-rendered 3D model.

5. The 3D model rendering speed optimization method according to claim 4, characterized in that, When the viewpoint comparison results are different, the 3D model after the viewpoint change is re-rendered to obtain a re-rendered 3D model, including: When the perspective comparison results are different, a delay report is generated based on the perspective information; Based on the delay report, the test rendering results are regrouped into viewport groups to obtain the test rendering results after viewport transformation. Based on the test rendering results after the view transformation, the 3D model after the view transformation is re-rendered to obtain the re-rendered 3D model.

6. A 3D model rendering speed optimization device, characterized in that, The device includes: A data acquisition module, which is used to acquire the 3D model data to be rendered; The test rendering module extracts position information from the 3D model data to be rendered to obtain a first data parsing result; extracts normal vector information from the 3D model data to be rendered to obtain a second data parsing result; extracts view fringing information from the 3D model data to be rendered to obtain a third data parsing result; integrates the first, second, and third data parsing results to obtain the data parsing result; performs test rendering on the 3D model data to be rendered to obtain a test rendering result; groups the data according to the data parsing results to obtain grouped 3D model data to be rendered; and performs test rendering on the grouped 3D model data to be rendered to obtain a test rendering result. A view grouping module is used to group the test rendering results into view groups to obtain the test rendering results of the current view. The model rendering module is used to render the 3D model to be rendered based on the test rendering results of the current view, so as to obtain the rendered 3D model.

7. An electronic device, characterized in that, The electronic device includes: a memory; a processor; and one or more computer programs stored in the memory, the one or more computer programs including instructions that, when executed by the processor, enable the 3D model rendering speed optimization method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer storage medium includes instructions that, when executed by a processor, enable the 3D model rendering speed optimization method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Lightning simulation method and device in virtual scene, terminal and readable storage medium

    CN111784804A

  • Three-dimensional terrain gradient rendering method and device, electronic equipment and storage medium

    CN115457180A