A real scene three-dimensional rendering method and system based on visibility culling and cache preloading

By employing a collaborative mechanism of visibility culling and cache preloading in 3D rendering, invisible objects are culled and data for the next viewpoint is preloaded, solving the problem of low rendering efficiency in complex real-world 3D scenes and achieving efficient, low-latency real-time rendering.

CN122115688APending Publication Date: 2026-05-29GUANGXI ZHUANG AUTONOMOUS REGION NATURAL RESOURCES REMOTE SENSING INST

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGXI ZHUANG AUTONOMOUS REGION NATURAL RESOURCES REMOTE SENSING INST
Filing Date
2026-02-09
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing viewpoint culling and cache preloading techniques are difficult to effectively handle rapid user movement or sudden changes in perspective in complex realistic 3D scenes, resulting in low rendering efficiency and latency.

Method used

Through a collaborative mechanism of visibility culling and cache preloading, the visibility culling area is calculated using real-time viewpoint data to cull invisible objects, and cache preloading is used to preload the 3D model data that may appear in the next viewpoint, combined with incremental rendering to optimize the rendering process.

Benefits of technology

It significantly reduces invalid computation and data access latency, improves rendering efficiency and screen continuity, and solves the problems of rendering latency and computational load in complex real-world 3D scenes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122115688A_ABST
    Figure CN122115688A_ABST
Patent Text Reader

Abstract

The application provides a real scene three-dimensional rendering method and system based on visibility culling and cache preloading, and relates to the technical field of computer graphics and three-dimensional visualization. Firstly, three-dimensional model data and real-time viewpoint data of a three-dimensional scene are acquired; a visibility culling region is calculated based on the real-time viewpoint data, and invisible objects are removed to reduce the rendering calculation amount; the next viewpoint position is predicted according to the real-time viewpoint data and historical viewpoint data, and three-dimensional model data determined to appear at the next viewpoint is preloaded; incremental rendering is performed based on the preloaded data and real-time viewpoint data, and the cache is updated in real time, so that invalid calculation and data access delay are significantly reduced, and efficient, low-delay and scalable real-time rendering under a complex scene is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of computer graphics and 3D visualization technology, and in particular to a real-world 3D rendering method and system based on visibility culling and cache preloading. Background Technology

[0002] Current 3D rendering technology has made significant progress, especially in the fields of virtual reality (VR), augmented reality (AR), and game engines, where different rendering algorithms are used to optimize performance and effects. Traditional 3D rendering methods rely on rendering the entire scene. Regardless of changes in the user's viewpoint, the entire scene needs to be calculated and rendered, which leads to high computational overhead and rendering latency, especially in complex real-world 3D environments.

[0003] To improve rendering efficiency, current research is increasingly shifting towards viewpoint culling and preloading techniques. Viewpoint culling algorithms dynamically identify and render the 3D scene visible to the user, reducing unnecessary computation. Meanwhile, cache preloading techniques are also evolving, predicting the user's viewpoint trajectory and preloading data that may need rendering, thus reducing data access time during real-time rendering. These techniques are being widely applied in real-time rendering systems, especially in large-scale virtual scenes and highly dynamic environments.

[0004] While viewpoint culling and cache preloading improve rendering efficiency to some extent, existing technologies still have several limitations. First, current viewpoint culling algorithms typically rely on static viewpoint change predictions, failing to effectively handle rapid user movement or abrupt changes in perspective. Second, data prediction during cache preloading depends on historical data, making it difficult to adapt to the diversity of user viewpoint changes, resulting in unsatisfactory caching performance. Furthermore, accurately and quickly performing viewpoint culling and efficient preloading in large-scale 3D scenes remains a technical challenge. Summary of the Invention

[0005] To overcome the shortcomings of existing technologies, the purpose of this invention is to provide a real-world 3D rendering method and system based on visibility culling and cache preloading. Through the collaborative mechanism of visibility culling, cache preloading and incremental rendering, the method significantly reduces invalid calculations and data access latency while ensuring image quality continuity, thereby achieving high-efficiency, low-latency and scalable real-time rendering in complex real-world 3D scenes.

[0006] To achieve the above objectives, the present invention provides the following solution:

[0007] A real-world 3D rendering method based on visibility culling and cache preloading includes:

[0008] Acquire 3D model data and real-time viewpoint data of a 3D scene;

[0009] Based on the real-time viewpoint data, the visibility culling region is calculated to determine the visible 3D object region under the current viewpoint. The visibility culling algorithm is used to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects.

[0010] The visible 3D objects are cached and preloaded. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded.

[0011] Based on the preloaded data preloaded by the cache and the real-time viewpoint data, the visible 3D objects are rendered, and the preloaded data is updated in real time according to the dynamic changes of the viewpoint, thereby optimizing the data access speed and rendering efficiency during the rendering process.

[0012] Preferably, the 3D model data includes the geometric shape, texture information, and physical properties within the scene; the real-time viewpoint data represents the observation position and orientation from the current user's perspective.

[0013] Preferably, the preloaded data includes the geometry, texture information, and physical property data of the three-dimensional object.

[0014] Preferably, based on the real-time viewpoint data, a visibility culling region is calculated to determine the visible 3D object region under the current viewpoint. An invisible 3D object is then removed from the rendering queue using a visibility culling algorithm to reduce rendering computation and obtain visible 3D objects. This includes:

[0015] Obtain the frustum parameters of the current viewpoint; the frustum parameters include the user's current observation position, observation direction, and field of view.

[0016] Based on the view frustum parameters, the spatial positional relationship of each 3D object in the 3D scene relative to the current viewpoint is determined through spatial geometric analysis, and a candidate set of visibility of 3D objects is generated.

[0017] For each 3D object in the visibility candidate set, the view frustum culling algorithm is used to determine whether the current 3D object is completely located within the view frustum. Specifically, the view frustum is composed of several planes, and the plane equation of the i-th view frustum plane is:

[0018] If all vertices in the bounding box of the 3D object All satisfy:

[0019]

[0020] If the 3D object is completely outside the view frustum, it is removed from the visibility candidate set. Wherein: The i-th boundary plane of the view frustum is represented, and the boundary plane includes the near clipping plane, the far clipping plane, the left side plane, the right side plane, the upper side plane, and the lower side plane; Let be the component of the normal vector of the i-th boundary plane in the world coordinate system; For the constant term of the i-th boundary plane; Represents the coordinate components of any point in space in the world coordinate system; This represents the coordinates of a vertex of the bounding box of the 3D object in the world coordinate system; the bounding box is a geometrical enclosure structure used to approximate the spatial extent of the 3D object; the direction of the inequality sign is used to distinguish between the inner and outer regions of the view frustum, and is uniformly agreed to satisfy in this paper. The region is inside the view frustum, and the current 3D object is a potentially visible object;

[0021] For 3D objects identified as potentially visible objects, occlusion culling is performed. An occlusion test algorithm is used to check whether the current 3D object is completely occluded by other objects. If it is occluded, it is identified as an invisible object.

[0022] The 3D objects processed by the frustum culling algorithm and the occlusion test algorithm are added to the rendering queue, and invisible 3D objects are culled, thereby reducing the amount of rendering computation and obtaining the final visible 3D objects.

[0023] Preferably, the visible 3D objects are cached and preloaded. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded. This includes: acquiring the real-time viewpoint data and analyzing the user's viewpoint trajectory in combination with the historical viewpoint data to determine the viewpoint change trend.

[0024] To obtain a smooth and continuous viewpoint motion trajectory when analyzing the changing trend of the user's viewpoint trajectory, the Catmull-Rom interpolation method is used to smooth the viewpoint sequence. Given four adjacent control points... interpolation point The calculation formula is:

[0025]

[0026] Among them, parameters ; These are four adjacent control points in the viewpoint trajectory; the control points are viewpoint positions sampled from the historical viewpoint sequence; when interpolating the viewpoint positions, the control points... Represented as a three-dimensional vector ; Indicates in the parameter The interpolated viewpoint position calculated under the given values; parameters Indicates from the control point To control point The progress of interpolation, when hour, ,when hour, The addition and scalar multiplication operations in the interpolation formula are component-wise operations on vectors.

[0027] Based on the real-time viewpoint data and historical viewpoint data, and utilizing the viewpoint change trend, a prediction model is used to predict the user's next viewpoint position; the prediction model generates the position and orientation of the next viewpoint based on the user's viewpoint trajectory and viewpoint change pattern.

[0028] Let the historical viewpoint sequence be:

[0029]

[0030] in, This is a time index. A linear prediction model is used to predict the next viewpoint; the prediction formula is as follows:

[0031]

[0032] in: Indicates the first The viewpoint state vector at each moment; They represent the first The position coordinates of the viewpoint at any given moment in the world coordinate system; They represent the first Orientation parameters of the viewpoint at each moment; Indicates the predicted first The viewpoint state at any given moment; The velocity term weighting coefficient is used to describe the impact of the first-order change trend of the viewpoint on the prediction results. These are the weighting coefficients for the acceleration term, used to describe the impact of the second-order change trend of the viewpoint on the prediction results; The second-order difference term representing the viewpoint state is calculated as follows:

[0033]

[0034] The vector addition, subtraction, and scalar multiplication operations described above are all component-wise operations.

[0035] Based on the predicted next viewpoint location, determine the 3D model data that the next viewpoint may appear, and preload the 3D model data related to the next viewpoint.

[0036] Preferably, the visible 3D object is rendered based on the preloaded data preloaded in the cache and the real-time viewpoint data, and the preloaded data is updated in real time according to the dynamic changes of the viewpoint, optimizing the data access speed and rendering efficiency during the rendering process, including:

[0037] Receive the 3D model data of the next possible viewpoint output by the viewpoint prediction process and the real-time viewpoint data, determine the rendering target range of the current frame, and obtain the rendering target range;

[0038] Based on the rendering target range and the preloaded data, a list of updated 3D model data for this frame is generated, and the update instruction set is obtained;

[0039] The update instruction set is submitted to the cache management module, which performs retention, supplementation and eviction operations to form updated preloaded data that matches the rendering target range and sends it back to the rendering engine to obtain the input dataset for rendering.

[0040] Incremental rendering is performed based on the input dataset and the real-time viewpoint data. The set of changes in the rendering objects in the current frame relative to the previous frame is determined. Only the set of changes in the rendering objects is rendered and composited, and the rendering result frame is output.

[0041] The rendering efficiency improvement brought by incremental rendering is quantified by the following formula:

[0042]

[0043] in: This indicates the percentage improvement in rendering efficiency. This represents the amount of computation required to perform a full rendering of a full-scale rendering object under the same viewpoint conditions. This represents the computational cost required to perform incremental rendering on only the set of changes in the rendered object under the same viewpoint conditions; the computational cost can be measured by any one or a combination of rendering time, pixel fill count, and geometric processing count.

[0044] Preferably, the 3D model data update list includes: data identifiers for identifying data items that are still within the rendering target range and retained in the preloaded data, data identifiers for identifying data items that have not yet been loaded in the 3D model data that will appear relative to the next viewpoint, and loading instructions, and data identifiers for identifying data items that are outside the rendering target range and removed from the preloaded data; the loading instructions include the geometry, texture information, and physical properties of the corresponding data item.

[0045] During system operation, the effectiveness of cache preloading is evaluated, and the cache hit rate is calculated using the following formula:

[0046]

[0047] Where: Hit Rate represents the cache hit rate; This indicates the cache hit count, which is the number of times the requested data already exists in the cache during the rendering or data request process. This indicates the number of cache misses, i.e., the number of times the requested data is not present in the cache and a loading operation is triggered; the cached data includes 3D model data, texture data, or its segmented data.

[0048] A real-world 3D rendering system based on visibility culling and cache preloading includes:

[0049] The data acquisition unit is used to acquire 3D model data and real-time viewpoint data of the 3D scene;

[0050] The visibility culling unit is used to calculate the visibility culling region based on the real-time viewpoint data, determine the visible 3D object region under the current viewpoint, and use the visibility culling algorithm to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects.

[0051] The cache preloading unit is used to cache and preload the visible 3D objects. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded.

[0052] The dynamic rendering and cache update unit is used to render the visible 3D object based on the preloaded data preloaded by the cache and the real-time viewpoint data, and to update the preloaded data in real time according to the dynamic changes of the viewpoint, thereby optimizing the data access speed and rendering efficiency during the rendering process.

[0053] The present invention discloses the following technical effects:

[0054] (1) The present invention calculates the visibility culling region based on the real-time viewpoint data, retains only the visible 3D objects to participate in rendering, directly reduces the overhead of invalid vertex processing, texture sampling and rasterization caused by invisible objects, significantly reduces the pressure on video memory bandwidth and frame length tail fluctuation, and solves the problem of high computational load and unstable frame rate caused by full scene or coarse-grained block rendering in the background technology.

[0055] (2) The present invention preloads the cache and determines the three-dimensional model data that will appear in the next viewpoint based on the trajectory of the real-time viewpoint data and the historical viewpoint data. It moves the decoding and IO of the model and texture to outside the rendering critical path, ensuring that the key data has been hit in the cache when the visible set changes. This eliminates the common stuttering, white screen and texture loss in large scenes with fast viewpoint switching, and improves the continuity of the screen and the smoothness of the interaction.

[0056] (3) The present invention uses an "update list" to accurately mark the data items that need to be retained, added, and loaded, as well as the data items that need to be eliminated, so that the preloaded data is strictly aligned with the rendering target range, avoiding mixed loading and misloading of hot and cold data, significantly improving the cache hit rate, reducing unnecessary data migration and elimination jitter, and fundamentally overcoming the bandwidth waste and latency fluctuations caused by the coarse caching strategy in the background technology.

[0057] (4) In the rendering stage, the present invention adopts an incremental rendering scheme, which combines the real-time viewpoint data to perform rendering compositing only on the change set of the rendering object, and feeds the change set back to generate the update list for the next frame, forming a closed-loop minimum incremental path of "visibility culling - cache preloading - incremental rendering - list update", which effectively avoids inter-frame repetitive work and redundant compositing, and improves the effective pixel output per unit time.

[0058] (5) The present invention uses the real-time viewpoint data as a unified driver, and can adaptively adjust the visibility threshold, update list granularity and incremental rendering range according to the device capabilities and scene scale, so as to achieve consistent scalability and stable frame generation on the end side and the cloud. It solves the problem that the fixed strategy in the background technology is difficult to take into account both ultra-large scenes and terminals with limited computing power, and achieves an overall improvement in rendering efficiency and user experience while ensuring the flexibility of image quality. Attached Figure Description

[0059] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0060] Figure 1 A flowchart of the method provided in an embodiment of the present invention;

[0061] Figure 2 This is a schematic diagram of the system structure provided in an embodiment of the present invention. Detailed Implementation

[0062] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0063] The purpose of this invention is to provide a real-world 3D rendering method and system based on visibility culling and cache preloading. By integrating viewpoint-driven visibility calculation and cache update mechanism, the on-demand scheduling of rendering tasks and accurate data loading are realized, which comprehensively improves the rendering efficiency and system response speed of real-world 3D scenes.

[0064] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0065] Figure 1 The method flowchart provided in the embodiments of the present invention is as follows: Figure 1 As shown, this invention provides a real-world 3D rendering method based on visibility culling and cache preloading, including:

[0066] Step 100: Acquire the 3D model data and real-time viewpoint data of the 3D scene;

[0067] Step 200: Calculate the visibility culling region based on real-time viewpoint data, determine the visible 3D object region under the current viewpoint, and use the visibility culling algorithm to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects.

[0068] Step 300: Cache and preload visible 3D objects. During the cache preloading process, predict the user's next viewpoint position based on the trajectory of real-time viewpoint data and historical viewpoint data, and preload the 3D model data that will appear in the next viewpoint.

[0069] Step 400: Based on the cached preloaded data and real-time viewpoint data, render the visible 3D objects, and update the preloaded data in real time according to the dynamic changes in the viewpoint, optimizing data access speed and rendering efficiency during the rendering process. Preferably, the preloaded data includes the geometric shape, texture information, and physical attribute data of the 3D objects.

[0070] This embodiment first acquires the 3D model data of the 3D scene under a unified spatiotemporal reference. A "unified spatiotemporal reference" refers to organizing all geometric, texture, and physical data under a single world coordinate system and a unified timestamp to ensure that the coordinate and time systems used by the rendering thread, caching module, and culling algorithm are completely consistent. Specifically, this embodiment uses the scene file exported by the 3D modeling tool as a basis, with a minimum of 5 × 103 objects. 4 The model import system is designed to handle individual objects, each containing a description of vertices, faces, and hierarchical bounding volumes. On average, each leaf node covers no more than 2 × 10⁻⁶ elements. 3 Each triangle has a facet. Normals and tangents are automatically generated during import for lighting and shadow calculations. Texture data is integrated using a "texture atlas" method, with a single texture resolution of 4096×4096 pixels and a compression ratio of approximately 4:1 to reduce video memory usage. Physical properties include surface reflectance coefficients, collider boundaries, and occlusion markers, used for subsequent lighting response and visibility culling. The system also establishes a material parameter table with no fewer than 12 fields to describe features such as diffuse reflection, specular reflection, and ambient reflection. After data loading, the scene root node registers the origin coordinates and metric units to ensure that objects at different resolution levels can be accurately positioned within the same spatial reference.

[0071] This embodiment then acquires real-time viewpoint data to characterize the user's current observation position and orientation. The real-time viewpoint data includes the three elements of position (x, y, z) and the three elements of orientation (pitch, yaw, roll), along with rendering parameters such as field of view, near clipping distance, and far clipping distance. To prevent sampling jitter and time misalignment, this embodiment defines a "viewpoint snapshot," which is a recording unit that packages the above parameters under a single timestamp and aligns with the rendering thread through a time synchronization module. The viewpoint data update frequency is 90 times per second, with an end-to-end latency not exceeding 25 milliseconds; the position resolution is better than 0.01 meters, and the orientation resolution is better than 0.05 degrees; the near clipping distance is set to 0.05 meters, and the far clipping distance is 1000 meters; the field of view is 90 degrees by default, with an adjustable range of 60–110 degrees. After generating the viewpoint snapshot, this embodiment performs an interpolation smoothing algorithm to eliminate input jumps, and then uses a coordinate transformation module to convert the device's local coordinates to scene world coordinates, with a cumulative error not exceeding 0.02 meters. The final output real-time viewpoint data is stored in a circular buffer, providing continuous, synchronous, and verified viewpoint input for visibility culling and cache preloading, thereby ensuring spatial consistency and temporal stability during the rendering process.

[0072] Specifically, step 200 in this embodiment includes:

[0073] This embodiment first calculates the visibility culling region based on real-time viewpoint data. The "visibility culling region" refers to the three-dimensional spatial range defined by the current user's viewing position, viewing direction, and field of view, used to determine which objects can be rendered from the current viewpoint. This embodiment extracts the user's current viewing position and orientation vector by parsing real-time viewpoint data and reads the current field of view (typically 90 degrees, adjustable from 60 to 110 degrees), calculating the vertex and boundary surface parameters of the view frustum to form a view frustum geometric model for spatial judgment. This process is executed synchronously with each viewpoint update, ensuring frame-level consistency between the culling results and viewpoint changes.

[0074] Subsequently, this embodiment performs spatial geometric analysis on each 3D object in the 3D scene based on the aforementioned view frustum parameters to determine the spatial positional relationship of the object relative to the current viewpoint. The system uses the object's bounding volume description (using a hierarchical bounding volume structure to store the outer boundary information of each object) to perform fast collision detection, determining whether the object's bounding volume intersects with the view frustum. For intersecting objects, the system adds them to the visibility candidate set; for objects completely outside the view frustum, they are directly discarded to avoid redundant processing in subsequent rendering stages. This process completes batch judgment in a single frame, with an average judgment time of no more than 1 millisecond, ensuring real-time performance.

[0075] After generating the visibility candidate set, this embodiment performs frustum culling for each 3D object within the set. This culling is performed by calculating the spatial relationship between the object's bounding volume and each plane of the frustum. If the object is completely within the frustum, it is marked as a potentially visible object; if all vertices of the bounding volume are outside the frustum, it is marked as an invisible object. For 3D objects marked as potentially visible, this embodiment further performs occlusion culling. Occlusion culling uses a depth-first occlusion testing algorithm, which analyzes the relative positional relationship between the object and other objects in the depth buffer to detect whether it is completely occluded. If an object is completely occluded, it is no longer added to the rendering queue, thereby avoiding invalid rendering of objects behind occlusions by the GPU.

[0076] Finally, in this embodiment, the 3D objects culled by frustum culling and occlusion culling are added to the rendering queue to form the final set of visible objects. The average size of this object set is reduced by approximately 80% compared to the original number of objects, which is significant in typical scenes (5 × 10^6 objects). 4 After considering the remaining units, approximately 1×10⁻⁶ will ultimately be retained. 4 Only visible objects are retained in the rendering queue. This process ensures that only objects directly related to the current viewpoint are kept in the rendering queue, thereby significantly reducing rendering computation, improving data access efficiency, and ensuring that the frame rate remains stable at over 60 frames per second.

[0077] Further, step 300 of this embodiment includes:

[0078] This embodiment first acquires the real-time viewpoint data and performs time alignment and anomaly removal with the historical viewpoint data stored in the circular buffer to construct a continuous viewpoint trajectory under unified world coordinates and timestamps. Then, the viewpoint trajectory is smoothed and differencing using a sliding time window to extract the rate of position change and the rate of orientation change, forming a viewpoint change trend for prediction. This viewpoint change trend, as a definite data output, is written into the prediction input queue for direct reading and reference in the next step.

[0079] This embodiment uses the real-time viewpoint data and the viewpoint change trend to call a prediction model to generate a prediction result for the position and orientation of the next viewpoint. The prediction model, based on the continuity and change patterns of the viewpoint trajectory, outputs a prediction result for the next viewpoint including the three elements of position and orientation, along with a confidence level and an effective timestamp. This prediction result is submitted to the prefetch scheduler as deterministic intermediate data to guide the subsequent selection and loading of 3D model data.

[0080] This embodiment determines the set of 3D model data that will appear at the next viewpoint based on the next viewpoint prediction result, and compares it with the current preloaded data to generate an update list. The update list clearly lists the data identifiers that need to be added and their loading instructions (geometric shape, texture information, physical properties), the data identifiers that need to be retained, and the data identifiers that need to be discarded. Accordingly, the system performs parallel decompression and transmission in the background, writes the supplementary items into the cache, and ensures that the preloaded data is strictly aligned with the next viewpoint prediction result, thereby achieving instant hit and seamless switching when the viewpoint is actually reached.

[0081] Specifically, step 400 in this embodiment includes:

[0082] This embodiment first receives the 3D model data that will appear in the next viewpoint, output from the cache preloading step, and the viewpoint data acquired in real time. Then, it calculates the rendering target range for the current frame in the rendering thread. The rendering target range is defined as a 3D spatial interval between the current viewpoint and the predicted viewpoint position, constrained by a visibility bounding volume, indicating the set of objects that need to be rendered or are ready to be rendered at that moment. This embodiment quickly determines the range of object changes by comparing the intersection and difference of the bounding volumes between two frames, ensuring that the spatial judgment latency does not exceed 2 milliseconds, thereby achieving real-time updates and frame-level consistency.

[0083] This embodiment then generates a 3D model data update list for the current frame based on the rendering target range and the preloaded data in the current cache. The update list contains three types of identifiers: first, data identifiers that need to be retained, corresponding to objects still within the rendering target range; second, data identifiers that need to be supplemented, corresponding to the unloaded portions of the 3D model data that will appear in the next viewpoint; and third, data identifiers that need to be discarded, corresponding to objects that have left the rendering target range. Each data identifier that needs to be supplemented is accompanied by a loading instruction, used to define the access path and cache priority of its geometry, texture information, and physical properties. Through this process, the update list becomes a data bridge connecting cache management and the rendering engine.

[0084] After generating the update manifest, this embodiment converts the manifest into an update instruction set and submits it to the cache management module. The cache management module executes retention, addition, and eviction operations sequentially according to the priority of each item in the instruction set, updating the object data in the video memory to ensure that the preloaded data strictly matches the rendering target range. After the update is complete, a new input dataset is formed and sent back to the rendering engine. This process employs an asynchronous double-buffering strategy, allowing cache updates and rendering calculations to proceed in parallel, effectively reducing inter-frame blocking caused by data migration.

[0085] This embodiment performs incremental rendering based on the returned input dataset and real-time viewpoint data. Incremental rendering extracts the set of changes in the rendered objects by comparing the differences between the current frame and the previous frame, and only performs rendering compositing on the objects in the set of changes. Unchanged objects directly reuse the rendering result buffer from the previous frame, thereby reducing repeated rasterization and pixel filling operations. In typical scenarios, the size of the set of changes is approximately 20% to 30% of the number of visible objects in the previous frame, thus reducing the rendering computation by about 70% and increasing the frame rate by more than 25%.

[0086] This embodiment further preferably specifies that the preloaded data includes three categories of content related to the 3D object: geometric shape, texture information, and physical properties. The geometric shape is used to describe the object's spatial structure; the texture information is used for lighting and surface detail reproduction; and the physical properties are used to calculate reflection, refraction, and collision responses. Through the above design, this embodiment achieves adaptive updates to the rendering task under dynamic changes in viewpoint, maintaining high consistency and high hit rate in the data loading and rendering process, thereby obtaining consistently stable real-time rendering performance in complex realistic 3D scenes.

[0087] Corresponding to the above methods, such as Figure 2 As shown, this embodiment also provides a real-world 3D rendering system based on visibility culling and cache preloading, including:

[0088] The data acquisition unit is used to acquire 3D model data and real-time viewpoint data of the 3D scene;

[0089] The visibility culling unit is used to calculate the visibility culling region based on the real-time viewpoint data, determine the visible 3D object region under the current viewpoint, and use the visibility culling algorithm to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects.

[0090] The cache preloading unit is used to cache and preload the visible 3D objects. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded.

[0091] The dynamic rendering and cache update unit is used to render the visible 3D object based on the preloaded data preloaded by the cache and the real-time viewpoint data, and to update the preloaded data in real time according to the dynamic changes of the viewpoint, thereby optimizing the data access speed and rendering efficiency during the rendering process.

[0092] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to the method section.

[0093] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A real-world 3D rendering method based on visibility culling and cache preloading, characterized in that, include: Acquire 3D model data and real-time viewpoint data of a 3D scene; Based on the real-time viewpoint data, the visibility culling region is calculated to determine the visible 3D object region under the current viewpoint. The visibility culling algorithm is used to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects. The visible 3D objects are cached and preloaded. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded. Based on the preloaded data preloaded by the cache and the real-time viewpoint data, the visible 3D objects are rendered, and the preloaded data is updated in real time according to the dynamic changes of the viewpoint, thereby optimizing the data access speed and rendering efficiency during the rendering process.

2. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 1, characterized in that, The 3D model data includes the geometric shape, texture information, and physical properties of the scene; the real-time viewpoint data represents the observation position and orientation from the current user's perspective.

3. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 1, characterized in that, The preloaded data includes the geometry, texture information, and physical property data of the 3D object.

4. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 1, characterized in that, Based on the real-time viewpoint data, a visibility culling region is calculated to determine the visible 3D object region from the current viewpoint. An invisible 3D object is then removed from the rendering queue using a visibility culling algorithm to reduce rendering computation and obtain the visible 3D objects, including: Obtain the frustum parameters of the current viewpoint; the frustum parameters include the user's current observation position, observation direction, and field of view. Based on the view frustum parameters, the spatial positional relationship of each 3D object in the 3D scene relative to the current viewpoint is determined through spatial geometric analysis, and a candidate set of visibility of 3D objects is generated. For each 3D object in the visibility candidate set, the frustum culling algorithm is used to determine whether the current 3D object is completely located within the frustum. If it is located within the frustum, the current 3D object is a potentially visible object; if it is not located within the frustum, it is determined to be an invisible object. For 3D objects identified as potentially visible objects, occlusion culling is performed. An occlusion test algorithm is used to check whether the current 3D object is completely occluded by other objects. If it is occluded, it is identified as an invisible object. The 3D objects processed by the frustum culling algorithm and the occlusion test algorithm are added to the rendering queue, and invisible 3D objects are culled, thereby reducing the amount of rendering computation and obtaining the final visible 3D objects.

5. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 1, characterized in that, The visible 3D objects are cached and preloaded. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded, including: The real-time viewpoint data is acquired and combined with historical viewpoint data to analyze the user's viewpoint trajectory and determine the viewpoint change trend. Based on the real-time viewpoint data and historical viewpoint data, and utilizing the viewpoint change trend, a prediction model is used to predict the user's next viewpoint position; the prediction model generates the position and orientation of the next viewpoint based on the user's viewpoint trajectory and viewpoint change pattern. Based on the predicted next viewpoint location, determine the 3D model data that the next viewpoint may appear, and preload the 3D model data related to the next viewpoint.

6. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 1, characterized in that, Based on the preloaded data cached and the real-time viewpoint data, the visible 3D objects are rendered, and the preloaded data is updated in real time according to the dynamic changes of the viewpoint, optimizing data access speed and rendering efficiency during the rendering process, including: Receive the 3D model data of the next possible viewpoint output by the viewpoint prediction process and the real-time viewpoint data, determine the rendering target range of the current frame, and obtain the rendering target range; Based on the rendering target range and the preloaded data, a list of updated 3D model data for this frame is generated, and the update instruction set is obtained; The update instruction set is submitted to the cache management module, which performs retention, supplementation and eviction operations to form updated preloaded data that matches the rendering target range and sends it back to the rendering engine to obtain the input dataset for rendering. Incremental rendering is performed based on the input dataset and the real-time viewpoint data. The set of changes in the rendering objects in the current frame relative to the previous frame is determined, and only the set of changes in the rendering objects is rendered and composited to output the rendering result frame.

7. The real-world 3D rendering method based on visibility culling and cache preloading according to claim 6, characterized in that, The 3D model data update list includes: data identifiers for data items that are still within the rendering target range and are retained in the preloaded data, data identifiers for data items that are not yet loaded in the 3D model data that will appear relative to the next viewpoint, and loading instructions for data items that are removed from the rendering target range; the loading instructions include the geometry, texture information, and physical properties of the corresponding data items.

8. A real-world 3D rendering system based on visibility culling and cache preloading, characterized in that, include: The data acquisition unit is used to acquire 3D model data and real-time viewpoint data of the 3D scene; The visibility culling unit is used to calculate the visibility culling region based on the real-time viewpoint data, determine the visible 3D object region under the current viewpoint, and use the visibility culling algorithm to remove invisible 3D objects from the rendering queue to reduce the amount of rendering computation and obtain visible 3D objects. The cache preloading unit is used to cache and preload the visible 3D objects. During the cache preloading process, the user's next viewpoint position is predicted based on the trajectory of the real-time viewpoint data and the historical viewpoint data, and the 3D model data that will appear in the next viewpoint is preloaded. The dynamic rendering and cache update unit is used to render the visible 3D object based on the preloaded data preloaded by the cache and the real-time viewpoint data, and to update the preloaded data in real time according to the dynamic changes of the viewpoint, thereby optimizing the data access speed and rendering efficiency during the rendering process.