Method for rendering a scene object

CN122597611APending Publication Date: 2026-08-18GUANGZHOU BOGUAN TELECOMM TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610837785.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-10
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

[0002]相关技术中,场景渲染常常采用分距离多系统独立处理模式,以游戏场景中的树木、草地、花卉等植被类场景对象为例,现有方案通常针对近、中、远景分别使用高精度网格、简化模型与二维贴图绘制,该方案需要为各类植被分别制作多套差异化美术资产,配套搭建多个独立渲染管线,增加了资源与制作开销;同时,相机移动至不同视距区间时,还会出现渲染逻辑与渲染管线的切换,在相应切换位置易产生明显画面跳变,影响画面连贯性

Benefits of technology

上述场景对象的渲染方法,方法包括:确定虚拟场景中的目标场景对象;其中,目标场景对象预设有对应的目标模型,目标模型由几何单元组成;获取目标模型的层次包围盒树;其中,层次包围盒树包含多个层次;几何单元的单元尺寸与几何单元对应的层次相关;层次包含至少一个层次节点;层次节点与目标模型的指定模型区域对应;基于层次节点对应的指定模型区域在屏幕空间中的投影尺寸,确定目标模型对应的目标层次节点,以及目标层次节点对应的指定模型区域内的初始几何集群;其中,初始几何集群中包括多个几何单元;从初始几何集群中确定待渲染的目标几何集群,并根据几何单元的单元类型将目标几何集群划分为第一目标集群和第二目标集群;其中,第一目标集群包括第一几何单元,第二目标集群包括第二几何单元;对第一目标集群中的第一几何单元执行第一渲染模式,对第二目标集群中的第二几何单元执行第二渲染模式,以得到目标场景对象的渲染结果。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122597611A_ABST
    Figure CN122597611A_ABST
Patent Text Reader

Abstract

The application provides a rendering method of a scene object, determines a target scene object; wherein the target scene object is provided with a corresponding target model, and the target model is composed of geometric units; a hierarchical bounding box tree of the target model is acquired; based on a projection size of a specified model region corresponding to a hierarchical node in a screen space, a target hierarchical node corresponding to the target model and an initial geometric cluster in the specified model region corresponding to the target hierarchical node are determined; a target geometric cluster to be rendered is determined from the initial geometric cluster, the target geometric cluster is divided into a first target cluster and a second target cluster according to a unit type of the geometric units; a first rendering mode is performed on a first geometric unit in the first target cluster, and a second rendering mode is performed on a second geometric unit in the second target cluster, so that a rendering result of the target scene object is obtained. This way reduces the artistic production cost and rendering pipeline overhead, and improves the picture coherence and overall visual quality of the scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of model rendering technology, and in particular to a method for rendering scene objects. Background Technology

[0002] In related technologies, scene rendering often adopts a distance-based, multi-system independent processing mode. Taking vegetation scene objects such as trees, grass, and flowers in game scenes as an example, existing solutions usually use high-precision meshes, simplified models, and 2D textures to draw for the near, middle, and far views respectively. This solution requires the creation of multiple sets of differentiated art assets for each type of vegetation and the construction of multiple independent rendering pipelines, which increases resources and production costs. At the same time, when the camera moves to different viewing distance ranges, there will be a switch in rendering logic and rendering pipelines, which can easily cause obvious screen jumps at the corresponding switching positions, affecting the continuity of the screen. Summary of the Invention

[0003] In view of this, the purpose of this invention is to provide a rendering method for scene objects, so as to reduce the production cost of art resources, eliminate the screen jump caused by view distance switching, and improve the overall rendering effect and efficiency of vegetation scenes.

[0004] In a first aspect, embodiments of the present invention provide a method for rendering a scene object, the method comprising: determining a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, the target model being composed of geometric units; obtaining a hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; based on the projection size of the specified model region corresponding to the level node in screen space, determining a target level node corresponding to the target model, and an initial geometric cluster within the specified model region corresponding to the target level node; wherein the initial geometric cluster includes multiple geometric units; determining a target geometric cluster to be rendered from the initial geometric cluster, and dividing the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric units; wherein the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; executing a first rendering mode on the first geometric unit in the first target cluster, and executing a second rendering mode on the second geometric unit in the second target cluster, to obtain a rendering result of the target scene object.

[0005] Secondly, embodiments of the present invention also provide a rendering apparatus for a scene object, the apparatus comprising: a first determining module, configured to determine a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, the target model being composed of geometric units; a first acquiring module, configured to acquire a hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; a second determining module, configured to determine a target level node corresponding to the target model, and an initial geometric cluster within the specified model region corresponding to the target level node, based on the projection size of the specified model region corresponding to the level node in screen space; wherein the initial geometric cluster includes multiple geometric units; a first partitioning module, configured to determine a target geometric cluster to be rendered from the initial geometric cluster, and partition the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric units; wherein the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; and a first rendering module, configured to execute a first rendering mode on the first geometric unit in the first target cluster and execute a second rendering mode on the second geometric unit in the second target cluster to obtain a rendering result of the target scene object.

[0006] Thirdly, embodiments of the present invention provide an electronic device, including a processor and a memory, wherein the memory stores computer-executable instructions that can be executed by the processor, and the processor executes the computer-executable instructions to implement the above-described scene object rendering method.

[0007] Fourthly, embodiments of the present invention provide a storage medium storing computer-executable instructions. When the computer-executable instructions are invoked and executed by a processor, the computer-executable instructions cause the processor to implement the rendering method of the aforementioned scene object.

[0008] The embodiments of the present invention bring the following beneficial effects: The rendering method for the aforementioned scene object includes: determining a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, which is composed of geometric units; obtaining a hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; based on the projection size of the specified model region corresponding to the level node in screen space, determining the target level node corresponding to the target model, and the initial geometric cluster within the specified model region corresponding to the target level node; wherein the initial geometric cluster includes multiple geometric units; determining the target geometric cluster to be rendered from the initial geometric cluster, and dividing the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric units; wherein the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; executing a first rendering mode on the first geometric unit in the first target cluster, and executing a second rendering mode on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

[0009] In this approach, the unit size of the geometric units that make up the target model is managed hierarchically by utilizing the hierarchical bounding box tree of the target scene object. The unit size of the geometric units is dynamically matched and adapted according to the projection size of the specified model area corresponding to the hierarchical node in the screen space, resulting in the initial geometric cluster that makes up the target model. The target geometric cluster to be rendered is selected from the initial geometric cluster. Within the unified rendering pipeline, different types of geometric units are split into independent first target clusters and second target clusters. Differentiated parallel rendering processing is achieved by matching and adapting the rendering modes to the two types of target clusters respectively. Finally, the two rendering results are merged to obtain the complete scene object rendering screen.

[0010] This method only requires a pre-set scene model composed of geometric units and its hierarchical bounding box tree to meet the rendering needs of the entire scene from any viewing distance. Relying on the hierarchical bounding box tree and combining it with the projection size of the model area in screen space, it adaptively matches and selects geometric units of suitable size for rendering, effectively reducing the total number of geometric units to be rendered and lowering rendering computational costs. All target scene objects within the virtual scene share a unified rendering pipeline to complete hierarchical filtering, cluster extraction, and rendering process processing. There is no need to create multiple sets of model assets for different object types and viewing distances, nor is it necessary to deploy multiple independent rendering pipelines, significantly reducing art production costs and rendering pipeline deployment overhead. Within the overall framework of the unified rendering pipeline, this solution achieves smooth adaptive switching of rendering details, effectively improving the visual coherence and overall visual performance of large-scale scenes.

[0011] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention. The objects and other advantages of the invention are realized and obtained in accordance with the structures particularly pointed out in the description, claims and drawings.

[0012] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

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

[0014] Figure 1 A flowchart illustrating a scene object rendering method provided in an embodiment of the present invention; Figure 2 This is an architecture diagram of a scene object rendering system provided in an embodiment of the present invention; Figure 3 A schematic diagram of a Gaussian volume compression mechanism provided in an embodiment of the present invention; Figure 4 A schematic diagram of a scene object rendering device provided in an embodiment of the present invention; Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation

[0015] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions 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, 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.

[0016] First, the terminology involved in this invention will be explained: 1. VG (Virtual Geometry): A GPU-driven real-time rendering system for massive geometry, which manages large-scale scenes through hierarchical structure and multi-level culling.

[0017] 2. GS / 3DGS (3D Gaussian Splatting): A rendering method that uses a 3D Gaussian ellipsoid to represent a scene and generates the final image through semi-transparent blending.

[0018] 3. Bounding Volume Hierarchy (BVH) Tree: The BVH tree is a binary tree structure in which all model components are encapsulated within the bounding bodies corresponding to the leaf nodes. Multiple bounding bodies are merged into larger bounding bodies at each level. After recursive nesting, the largest bounding body corresponding to the root node can completely enclose the entire model.

[0019] 4. LOD (Level of Detail): Objects in the distance are represented in a coarse manner, while objects closer to the viewer are represented in a fine manner, in order to save on computation.

[0020] 5. Cluster: The basic data unit in the VG architecture, which contains a fixed 64 geometric primitives.

[0021] 6. Patch Block: The spatial unit for rendering grassland and crops in this invention. It is a ground area of ​​fixed size (e.g., 2x2 meters) and manages all Gaussian volumes within it as a VG instance.

[0022] 7. WPO (World Position Offset): World position offset, a vertex displacement function used in the material system to achieve dynamic effects such as wind animation.

[0023] 8. Gaussian Volume: A Gaussian volume is an ellipsoidal rendering primitive defined by parameters of position, scale, rotation, color, and opacity in 3D space. It is the basic rendering unit used to represent 3D scenes in 3D Gaussian splashing technology, essentially a 3D anisotropic Gaussian ellipsoid with attributes. Mathematically, the spatial distribution of each Gaussian volume is described by a 3D covariance matrix, which determines the shape and orientation of the 3D ellipsoid. When a Gaussian volume moves, its covariance matrix needs to be rotated synchronously to maintain the physical correctness of its shape. The pixel coverage area generated by the 2D projection of the Gaussian volume during rendering is determined by the 2D covariance of the covariance matrix after camera projection transformation.

[0024] Virtual scenes typically contain multiple scene objects, such as vegetation objects like trees, grass, and flowers in a game scene. Existing scene rendering technologies generally adopt a multi-system independent processing scheme with different distances, using high-precision meshes, simplified models, and 2D textures for different near, middle, and far views. Furthermore, dual rendering and blending transitions are required in areas where the view distance thresholds switch, resulting in high overall overhead.

[0025] The solution has many inherent flaws: frequent switching between multiple rendering systems not only causes visual discontinuity and flickering, but also leads to a complex rendering pipeline architecture, redundant art asset production, and high GPU resource consumption; high-density grassland vegetation cannot achieve high-quality rendering across the entire view distance, and the image is prone to appearing bare and lacking details at medium and long distances.

[0026] Based on this, the present invention provides a rendering method for scene objects, which can be applied to application scenarios that require large-scale, high-precision real-time rendering, such as game scenes, virtual simulation, 3D animation, and digital twins.

[0027] To facilitate understanding of this embodiment, a method for rendering scene objects disclosed in this invention will first be described in detail, such as... Figure 1 As shown, this method includes the following steps: Step S102: Determine the target scene object in the virtual scene; wherein, the target scene object has a corresponding target model, and the target model is composed of geometric units.

[0028] The aforementioned target scene object refers to the scene object within the observation field of view in the virtual scene.

[0029] The aforementioned target model refers to the scene model corresponding to the target scene object, which is generated through offline preprocessing and is composed of geometric units. Taking vegetation scene objects as an example, the specific model generation process is as follows: First, a high-precision triangular mesh basic model of various types of vegetation is created. Then, through a preset conversion algorithm, the triangles are converted into corresponding geometric units, and finally, a target model composed of geometric units is generated.

[0030] For scene objects of the same type, the same set of scene model templates can be used. By performing spatial transformation operations such as rotation, translation, and mirroring, scene models with different postures and positions can be quickly generated. The differentiated scene models and scene model templates can share model data, eliminating the need to repeatedly create model data for each scene object, which greatly reduces the amount of data storage and preprocessing work.

[0031] It should be noted that the unit type of the geometric units that make up the scene model matches the type of the scene object. The unit type includes different structural forms such as polygonal units and three-dimensional geometric units. For example, taking vegetation objects as an example, the thin or semi-transparent structures of vegetation such as leaves, grass, shrubs, ferns, and flowers in the virtual scene can use three-dimensional spheres such as Gaussian bodies as geometric units. Tree models can use a combination of two types of geometric units. Rigid structures such as trunks and branches can use triangles as geometric units, while leaves and flowers can use three-dimensional spheres as geometric units. In order to achieve natural animation effects, three-dimensional spheres can also be associated and bound with triangular faces. The deformation animation data of the triangular faces drives the position, posture, and shape changes of the three-dimensional spheres, so that the leaves move synchronously with the wind and swaying of the branches, achieving a coherent dynamic effect for the entire tree.

[0032] Specifically, in the offline preprocessing stage, after creating the basic triangular mesh model of a certain type of scene object, the corresponding Bounding Volume Hierarchy (BVH) is constructed from the bottom up based on this basic triangular mesh model. The basic data of the model is encapsulated in the bounding boxes of the leaf nodes of the BVH. The bounding boxes of each level are merged and recursively nested from bottom to top, and finally the entire model space is completely contained by the top-level bounding box of the root node.

[0033] After constructing the hierarchical bounding box tree, the triangular primitives of the triangular mesh are further converted into geometric units, generating a scene model composed of geometric units. This scene model directly inherits the hierarchical bounding box tree structure and hierarchical data of the original triangular mesh base model. This BVH tree structure contains multiple levels and level nodes. Level nodes correspond to specified regions of the scene model, and the size of the geometric units configured at different levels corresponds one-to-one with their respective levels. The bounding boxes of higher-level nodes merge the model regions of multiple lower-level nodes, resulting in a wider bounding box coverage. When constructing geometric units, a large number of triangles within the model region are aggregated and merged; therefore, the higher the level, the larger the size of the aggregated geometric units. Consequently, the number of geometric units required to compose the same scene model decreases.

[0034] In an offline environment, geometric units corresponding to nodes at each level are pre-generated for a single scene model. These units are then grouped according to preset clustering rules (e.g., a single cluster can hold 64 geometric units), and the grouping results are stored in the corresponding data files. The number of geometric units configured within a cluster is matched to the GPU hardware thread group (wavefront / warp) specifications, ensuring that a single GPU thread group can perfectly process the data of one cluster, fully leveraging the hardware's parallel computing power and improving overall parallel computing efficiency.

[0035] During the real-time rendering phase of the virtual scene, geometric unit cluster data in the data file can be directly loaded, and geometric units of the corresponding size can be loaded to complete the rendering based on the currently enabled level nodes.

[0036] Step S104: Obtain the hierarchical bounding box tree of the target model; wherein, the hierarchical bounding box tree contains multiple levels; the element size of the geometric element is related to the level corresponding to the geometric element; the level contains at least one level node; the level node corresponds to a specified model region of the target model.

[0037] Understandably, each level of the hierarchical bounding box tree is configured with corresponding hierarchical nodes. Within the same level, different level nodes correspond to different specified model regions of the target model. The higher the level, the larger the size of the matched geometric units, and the fewer geometric units are required to form the target model, thus achieving a gradient detail representation of the target model from fine to coarse.

[0038] For example, taking a grassy scene as the target object, its hierarchical bounding box tree contains multiple levels, arranged from low to high, to match different sizes and numbers of 3D geometric units, such as Gaussian volumes: 1) LOD0 level: The level nodes correspond to the refined local areas of the grass model. The grass model has about 1200 Gaussian bodies. Each leaf is composed of 3 Gaussian bodies: root, middle section and tip, which fully restores the microscopic details. 2) LOD1 level: The model area corresponding to the level nodes in this level is expanded. The areas of 2 to 3 leaves are merged into one large Gaussian body, and the grassland model is simplified to 300 Gaussian bodies. 3) LOD2 level: The model area corresponding to the level nodes in this level is further expanded. Approximately 10 leaf areas are merged into a larger Gaussian body, and the grassland model has approximately 40 Gaussian bodies. 4) LOD3 level: The level contains nodes that can cover the macroscopic model area of ​​the entire plot. The grassland model is only configured with 4 to 8 larger Gaussian bodies to achieve the overall color block expression. Similarly, other types of target scene objects such as trees, shrubs, and ferns can be configured with corresponding hierarchical bounding box trees and corresponding geometric units. Each level of the hierarchy nodes corresponds to a specified model area of ​​the target model of the scene object, and the corresponding size and number of geometric units are adaptively matched according to the level to complete multi-gradient detail rendering.

[0039] Furthermore, when the target scene object is in an ultra-long distance scene, such as when the distance between the target scene object and the virtual camera exceeds a preset distance threshold, the target model no longer needs to be expressed through geometric units. Instead, the vegetation color can be completely integrated into the terrain texture. At the same time, with the transition method of linear fading from opacity to zero, a smooth fading effect of ultra-long distance vegetation can be achieved. This not only greatly saves the rendering cost of long distance scenes, but also ensures that the overall scene transition is natural and without tearing or discontinuity.

[0040] Step S106: Based on the projection size of the specified model region corresponding to the hierarchical node in the screen space, determine the target hierarchical node corresponding to the target model and the initial geometric cluster within the specified model region corresponding to the target hierarchical node; wherein, the initial geometric cluster includes multiple geometric elements.

[0041] The aforementioned projection size refers to the pixel size of the specified model area corresponding to the hierarchical node, which is mapped to the screen space after being projected by the virtual camera perspective.

[0042] The aforementioned target hierarchical nodes refer to hierarchical nodes that are obtained through hierarchical traversal and matching with preset thresholds, and that are adapted to the current camera viewing distance and screen display effect.

[0043] In this step, the target hierarchical node that fits the current rendering scene is selected from the hierarchical bounding box tree by the projection size of the specified model area corresponding to the hierarchical node in the screen space, and the geometric cluster composed of several geometric units in the specified model area corresponding to the hierarchical node is extracted as the initial geometric cluster, which is the basic data for subsequent rendering.

[0044] It should be noted that a single target model can contain multiple target hierarchy nodes of different levels. That is, different geometric units of different sizes can be configured in different regions of a single target model to adapt to screen display requirements of different levels of detail. For example, for a tree model, the projected size of the model region of nearby branches and leaves is larger, so a lower-level hierarchy node is selected as the target hierarchy node, and the geometric units corresponding to the branches and leaves are fully preserved. The projected size of the smaller branches and leaves at the far end is smaller, so a higher-level hierarchy node is selected as the target hierarchy node, and large-sized geometric units are used to construct this distant region. This achieves model data simplification and rendering accuracy compression, reducing computational overhead.

[0045] Specifically, the target level nodes can be determined in the following ways: The current level is determined by traversing the bounding box tree from high to low levels. For each node in the current level, the specified model region defined by the bounding box of the current level node is mapped from the 3D virtual scene space to the 2D screen space through perspective projection transformation, based on the intrinsic and extrinsic parameter matrix of the virtual camera and the world coordinate position of the target scene object. The pixel length and width range occupied by the specified model region on the screen are calculated and used as the projection size corresponding to the current level node. It is then determined whether the projection size meets the threshold condition. The threshold condition means that the projection size of the specified model region corresponding to the current level node in the screen space must be less than the preset threshold corresponding to the current level node.

[0046] For a current level node that meets the threshold condition, it indicates that the detail precision of the current level node is adapted to the current screen display requirements, and the current level node can be directly determined as the target level node.

[0047] For current-level nodes that do not meet the threshold condition, it is determined that the precision of the current-level node is insufficient and cannot meet the requirements for fine rendering. Based on the target model region corresponding to the current-level node, the nodes of the next level are traversed downwards in order from high to low levels. Multiple level nodes are identified from this process. These multiple level nodes refer to the level nodes of the next level in the bottom-up BVH tree that are enclosed by the bounding box corresponding to the current-level node and whose spatial range belongs to the specified model region corresponding to the current-level node. The bounding box spatial range of the next-level level nodes is smaller, and the corresponding model detail granularity is finer. After the specified model regions corresponding to the multiple next-level level nodes are combined, they can completely and without omission match and cover the target model region, achieving fine-grained full-coverage splitting of the target model region. Furthermore, each next-level level node is used as a new current-level node in turn, and the projection size of its specified model region is re-verified to meet the threshold condition. The above hierarchical traversal and judgment process is repeated.

[0048] The process continues until all nodes at the current level meet the threshold condition, or until the lowest level node of the hierarchical bounding box tree is reached. If the threshold condition is not met even after reaching the lowest level, then the lowest level node is taken as the target level node to ensure that the target model always has usable rendering accuracy.

[0049] In this approach, the display format of the target model is adaptively selected based on the screen projection size of the specified model area corresponding to each level of node. For distant scene objects, high-level, large-size, low-precision geometric units are used to effectively reduce the total number of rendering units and lower computational overhead; for close-range scene objects, low-level, small-size, high-precision geometric units are used to fully restore vegetation details. This approach avoids the performance waste caused by full-scale high-precision rendering and also avoids image blurring caused by insufficient precision in close-range rendering. While ensuring rendering quality, it effectively improves the real-time frame rate and running efficiency of the scene, achieving a balance between image quality and performance.

[0050] Step S108: Determine the target geometric cluster to be rendered from the initial geometric cluster; and divide the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric unit; wherein, the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit.

[0051] The unit type mentioned above refers to the variety of geometric units, specifically including different structural forms such as polygonal units and 3D geometric units. Different unit types are adapted to different rendering processing mechanisms; for example, polygonal units are adapted to rasterization rendering mechanisms, which can achieve fast and regular patch rendering by relying on the GPU's native rasterization path; 3D geometric units have high structural freedom and special rendering characteristics, and are more adapted to splash rendering mechanisms. This solution divides the target geometric cluster into internal components and distributes them according to the unit type, so that the two types of geometric units are matched with the optimal rendering path respectively, taking into account both the uniformity of the overall rendering architecture and the rendering adaptability of various units.

[0052] In practice, the initial geometric clusters corresponding to all target scene objects in the virtual scene are uniformly stored in the same preset cluster list, which does not distinguish between scene object types. Combined with scene space occlusion logic, view frustum clipping and occlusion culling are performed on all initial geometric clusters in the cluster list in batches to filter out occluded invalid clusters and obtain the target geometric clusters to be rendered in the current frame.

[0053] Because different types of scene objects are matched with corresponding geometric units of different types, the filtered target geometric clusters naturally contain a mixture of multiple unit types. This solution, within a unified rendering pipeline framework, internally splits the target geometric clusters according to unit type, forming a first target cluster and a second target cluster. Here, the first target cluster includes first geometric units, such as polygonal units, and the second target cluster includes second geometric units, such as solid geometric units.

[0054] Step S110: Execute the first rendering mode on the first geometric unit in the first target cluster and the second rendering mode on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

[0055] During the rendering phase, the first target cluster is sent to the buffer corresponding to the first rendering mode. Combining the position information and structural features of the first geometric unit in the first target cluster, the first rendering mode drawing operation is performed on the first geometric unit to obtain the first rendering result. The second target cluster is sent to the buffer corresponding to the second rendering mode. Using the position information and structural features of the second geometric unit in the second target cluster, the second rendering mode drawing operation is performed on the second geometric unit to obtain the second rendering result. Finally, the two types of rendering results are mixed and superimposed in the frame buffer according to the depth value to obtain the complete rendering image of the target scene object in the virtual scene.

[0056] This solution implements parallel and differentiated rendering of two types of geometric units under a unified rendering pipeline framework, and outputs corresponding rendering results respectively, ensuring that different types of geometric units can use the optimal rendering method, balancing rendering efficiency and image detail accuracy.

[0057] The rendering method for the aforementioned scene object includes: determining a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, which is composed of geometric units; obtaining a hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; based on the projection size of the specified model region corresponding to the level node in screen space, determining the target level node corresponding to the target model, and the initial geometric cluster within the specified model region corresponding to the target level node; wherein the initial geometric cluster includes multiple geometric units; determining the target geometric cluster to be rendered from the initial geometric cluster, and dividing the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric units; wherein the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; executing a first rendering mode on the first geometric unit in the first target cluster, and executing a second rendering mode on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

[0058] This method only requires a pre-set scene model composed of geometric units and its hierarchical bounding box tree to meet the rendering needs of the entire scene from any viewing distance. Relying on the hierarchical bounding box tree and combining it with the projection size of the model area in screen space, it adaptively matches and selects geometric units of suitable size for rendering, effectively reducing the total number of geometric units to be rendered and lowering rendering computational costs. All target scene objects within the virtual scene share a unified rendering pipeline to complete hierarchical filtering, cluster extraction, and rendering process processing. There is no need to create multiple sets of model assets for different object types and viewing distances, nor is it necessary to deploy multiple independent rendering pipelines, significantly reducing art production costs and rendering pipeline deployment overhead. Within the overall framework of the unified rendering pipeline, this solution achieves smooth adaptive switching of rendering details, effectively improving the visual coherence and overall visual performance of large-scale scenes.

[0059] The following embodiments provide a specific implementation method for determining target hierarchical nodes.

[0060] Specifically, the higher the level, the larger the unit size of the geometric unit of the target model; from the hierarchical bounding box tree of the target model, the current level is determined in order from high level to low level; for each current level node contained in the current level, based on the object position of the target scene object in the virtual scene, the projection size of the specified model area corresponding to the current level node in screen space and the preset threshold corresponding to the current level node are determined; if the projection size corresponding to the current level node is less than the preset threshold, the current level node is determined as the target level node; if the projection size corresponding to the current level node is not less than the preset threshold, the target level node is determined from the next level of the current level.

[0061] The aforementioned preset thresholds refer to pre-defined critical values ​​for projection size, and each level node has a corresponding preset threshold. The specified model region corresponding to the aforementioned level node refers to the specified model region defined by the bounding box of the current level node.

[0062] In other words, the current level is determined by traversing the bounding box tree from high to low levels. For each node in the current level, the specified model region defined by the bounding box of the current level node is mapped from the three-dimensional virtual scene space to the two-dimensional screen space through perspective projection transformation, based on the intrinsic and extrinsic parameter matrix of the virtual camera capturing the virtual scene and the world coordinate position of the target scene object. The pixel length and width range occupied by the specified model region on the screen are calculated and used as the projection pixel size corresponding to the current level node. It is then determined whether the projection size meets the threshold condition. The threshold condition means that the projection size of the specified model region corresponding to the current level node in the screen space must be smaller than the preset threshold corresponding to the current level node.

[0063] For a current level node that meets the threshold condition, it indicates that the detail precision of the current level node is adapted to the current screen display requirements, and the current level node can be directly determined as the target level node.

[0064] If a current level node does not meet the threshold condition, it is determined that the current level node is not precise enough and cannot meet the requirements for detailed rendering. Based on the target model region corresponding to the current level node, the target level node is determined from the next level of the current level.

[0065] Specifically, if the projection size corresponding to the current level node is not less than a preset threshold, the target model region corresponding to the current level node is determined; based on the target model region, multiple first-level nodes are determined from the level nodes of the next level after the current level; wherein, the model region composed of the specified model regions corresponding to the multiple first-level nodes matches the target model region; each first-level node is used as the updated current level node, and the following steps are executed iteratively until the projection size corresponding to the current level node is less than the preset threshold, or the current level reaches the lowest level of the hierarchical bounding box tree: based on the object position of the target scene object in the virtual scene, the projection size of the specified model region corresponding to the current level node in the screen space and the preset threshold corresponding to the current level node are determined; if the projection size corresponding to the current level node is less than the preset threshold, the current level node is determined as the target level node; if the projection size corresponding to the current level node is not less than the preset threshold, the target level node is determined from the next level after the current level.

[0066] The target model region mentioned above refers to the specified model region corresponding to the current level node.

[0067] The first-level node mentioned above refers to the next level node in the BVH tree constructed from the bottom up, which is enclosed by the bounding box corresponding to the current level node and whose spatial range belongs to the target model region.

[0068] The model region formed by the specified model regions corresponding to the multiple first-level nodes is matched with the target model region. That is, after the specified model regions corresponding to the multiple first-level nodes are combined, they can completely and without omission match and cover the target model region, thus achieving a fine-grained full-coverage split of the target model region.

[0069] In this method, if the projection size corresponding to the current level node is greater than or equal to a preset threshold, the system traverses down to the next level of level nodes to determine the first level node. This first level node can consist of multiple nodes; the bounding box space of these multiple first level nodes is smaller, and the corresponding model detail granularity is finer. After combining the specified model regions corresponding to each of the multiple first level nodes, the system can completely and without omission match and cover the target model region, achieving fine-grained full-coverage splitting of the target model region. Furthermore, each first level node is sequentially used as the new current level node, and the projection size of its respective specified model region is re-verified to meet the threshold condition. This hierarchical traversal and judgment process is repeated until all current level nodes meet the threshold condition, or the system traverses to the lowest level node of the hierarchical bounding box tree. If the threshold condition is not met even after traversing to the lowest level, the lowest level node is used as the target level node, ensuring that the target model always has usable rendering accuracy.

[0070] This method refines and breaks down high-level nodes with large projection size and low precision by proceeding from high to low levels, and finally selects fine-level nodes that are suitable for the current camera viewing distance and meet the rendering accuracy requirements, thus balancing vegetation rendering accuracy and rendering efficiency.

[0071] The following embodiments provide a specific implementation method for determining a preset threshold.

[0072] Specifically, the projection deviation between the projection of a specified model region of the target scene object at the current level node and the projection at the lowest level node is determined in the preset reference screen space; the visual error of the projection deviation in the world space corresponding to the virtual scene is determined; and a preset threshold is determined based on the visual error and the object position.

[0073] The aforementioned benchmark screen space refers to a pre-defined standard reference screen space with fixed virtual camera parameters, serving as a benchmark for uniformly calculating projections and comparing visual effects.

[0074] Here, the projection of the same specified model area in the current level node and the lowest level node in the preset reference screen space can be collected separately. The maximum visual displacement at the pixel level between the two can be obtained by pixel comparison and contour difference calculation, which is the projection deviation. Then, based on the camera projection matrix, the projection deviation of the reference screen space is converted into the offset in the three-dimensional world space where the virtual scene is located, which is the visual error. Finally, a preset threshold is determined based on the visual error and the object's position in the virtual scene. Specifically, a hash operation is performed on the object's position in the virtual scene to generate a random number within a preset range. This random number is then multiplied or added to the visual error to slightly perturb it, ultimately yielding the preset threshold associated with the object's position. This method effectively avoids the "group jump" problem caused by synchronous switching of target scene objects at the same level and distance, resulting in a smoother and more natural transition effect for vegetation layers.

[0075] For example, a formula for calculating a preset threshold is provided: Preset threshold = A Visual error (1+S) B; where A and B are preset constant coefficients used to adjust the overall scale of the threshold and rendering quality; S is a random number used to randomly perturb the preset threshold.

[0076] In one approach, the target scene objects include multiple objects; the types of target scene objects include multiple types; the geometric units of the target model correspond to the types of target scene objects; the initial geometric clusters corresponding to the multiple types of target scene objects are stored together in a preset cluster list; the cluster list is traversed, and the initial geometric clusters occluded by scene elements in the virtual scene are removed from the cluster list to obtain the target geometric clusters to be rendered.

[0077] In one implementation, the target scene objects include multiple objects and are divided into multiple types; the unit type of the geometric unit used by the target model matches the type of the scene object, and the unit type may include: polygon type and geometric type.

[0078] Virtual scenes can include various vegetation types such as trees, shrubs, ferns, flowers, grasslands, and crops. Different geometric units can be used for different vegetation types; for example, if the vegetation type is grassland, grass blades can be represented using small geometric units to achieve a smooth, anti-aliasing rendering effect. If the vegetation type is trees, rigid structures such as trunks and branches can be constructed using polygonal units, while thin or semi-transparent structures such as leaves, grass, and flowers can be constructed using geometric units to achieve a smooth, anti-aliasing rendering effect. The polygonal units mentioned above can be triangular facet units, or mesh units or quadrilateral facet units composed of triangles. The geometric units mentioned above can be three-dimensional spheres or geometric-like units, such as Gaussian bodies or ellipsoids.

[0079] Initial geometric clusters generated from different types of target scene objects are uniformly stored in the same preset cluster list, which does not distinguish between vegetation types. By traversing this cluster list, the initial geometric clusters that are occluded by scene elements can be removed using the depth pyramid occlusion detection mechanism. The remaining geometric clusters are the target geometric clusters to be rendered.

[0080] The following embodiments provide a specific implementation method for determining the rendering result of a target scene object.

[0081] The first geometric unit includes a polygon unit; the second geometric unit includes a geometric body unit; based on the position information of the polygon unit in the first target cluster in the virtual scene, rasterization processing is performed on the polygon unit to obtain a first rendering result; based on the position information of the geometric body unit in the second target cluster in the virtual scene, splatter processing is performed on the geometric body unit to obtain a second rendering result; based on the first rendering result and the second rendering result, the rendering result of the target scene object is determined.

[0082] The aforementioned positional information can be static positional information, such as the initial position of a static geometric unit in a virtual scene; or it can be animation-driven dynamic positional information, such as the real-time position obtained after offsetting and rotating the geometric unit through preset animation parameters, used to present the dynamic swaying effect of scene objects under force. The aforementioned polygonal units include triangular patches; the aforementioned geometric units can be various three-dimensional structural units such as spheres and Gaussian solids.

[0083] In other words, the rendering process splits into two drawing branches within a unified pipeline: all polygon units in the first target cluster are aggregated into the rasterization rendering link, and rasterization processing is performed on the polygon units by combining the position information of the polygon units in the first target cluster in the virtual scene. Vertex transformation, primitive assembly and pixel shading are completed through the hardware rasterization pipeline to obtain the first rendering result.

[0084] All geometric units in the second target cluster are aggregated into the splash rendering link. Combined with the position information of the geometric units in the virtual scene, splash processing is performed on the geometric units to obtain the second rendering result.

[0085] Finally, the two types of rendering results are mixed and superimposed in depth order in the frame buffer to obtain the rendering result of the target scene object.

[0086] Specifically, the process for the second rendering result is as follows: The target scene objects include multiple objects; the types of target scene objects include various types; the second target cluster includes geometric units of various types of target scene objects. Based on the position information of each geometric unit in the second target cluster in the virtual scene, the target pixel region where the projection of the geometric unit in the screen space is located, and the depth value of the geometric unit are determined; wherein, the depth value is used to indicate the distance between the geometric unit and the viewing angle; the rendering arrangement order of each geometric unit in the target pixel region is determined based on the depth value; the transparency blending of the geometric units is performed from front to back according to the rendering arrangement order, and the rendering of the current target pixel region is terminated in advance when the accumulated opacity reaches a preset termination threshold, so as to obtain the second rendering result.

[0087] The aforementioned target pixel region refers to a pre-defined fixed-size pixel block within the screen space, exemplified by a 16×16 pixel block. Here, the geometric units corresponding to all target scene objects in the virtual scene can be uniformly depth-sorted within the same target pixel region. The rendering order is determined solely by the depth value, eliminating the need to split the rendering pipeline according to scene object type. This allows all types of target scene objects to share a single integrated rendering pipeline.

[0088] Taking Gaussian bodies as an example, the world space coordinates of each geometric body in the second target cluster are transformed to screen space through camera perspective projection transformation, and the pixel range it occupies is calculated. Then, the corresponding target pixel region is determined according to the pixel range, and the depth value of the Gaussian body in the target pixel region is extracted.

[0089] Here, a corresponding independent thread group can be pre-configured for each target pixel region. This thread group collects the geometric units projected into the target pixel region. The thread group stores the collected geometric units in its corresponding storage space, avoiding the overhead of frequent global memory reads and writes. Within this storage space, the thread group sorts the geometric units according to their depth values ​​from smallest to largest, that is, following the rule of from near to far and from front to back, thus determining the rendering execution order of all geometric units within the current target pixel region.

[0090] Then, for each target pixel region, the geometry unit is subjected to front-to-back transparency blending according to the rendering order, and the rendering of the current target pixel region is terminated in advance when the accumulated opacity reaches the preset termination threshold, so as to obtain the second rendering result.

[0091] Specifically, each thread group in the target pixel region sorts the geometric units within that region in ascending order of depth value. Then, it performs front-to-back transparency blending, performing color and transparency overlay calculations on each geometric unit and continuously updating the final color result of the pixel. During rendering, the opacity value of the current target pixel region is iteratively accumulated in real time, causing the cumulative opacity of the target pixel region to continuously increase. When the opacity value reaches a preset termination threshold, it is determined that the target pixel region is approaching complete opacity. Rendering geometric units further away in the later order cannot effectively contribute to the visual effect of the target pixel region, so rendering of the current target pixel region is terminated early. This reduces redundant computational power consumption caused by multiple layers of transparency overlay while ensuring no loss of visual effect in scene rendering. Finally, the blending rendering of all target pixel regions is completed, and the second rendering result is output.

[0092] In actual implementation, the GPU generates a 64-bit global sort key for each geometric unit; the high 32 bits store the target pixel region number to which the geometric unit belongs, and the low 32 bits store the depth value corresponding to the geometric unit. The GPU performs a global sort on all geometric units, following the principle of high-order priority: first, global grouping is completed based on the high 32-bit target pixel region number, so that geometric units belonging to the same target pixel region are automatically grouped into the same sorting group; for all geometric units within the same target pixel region group, they are then sorted in ascending order based on the low 32-bit depth value, that is, the smaller the depth value and the closer the unit is to the observation camera, the higher its rendering sorting position.

[0093] After the above sorting, all geometric units naturally form an ordered rendering queue that is "organized into groups according to the target pixel area and from near to far within the same target pixel area". Subsequently, this fixed order can be directly used to complete the splash drawing and transparency blending calculations, strictly ensuring that the alpha blending process always follows the overlay rule from front to back, completely avoiding color confusion and transparency distortion caused by the cross-blending of multiple types and depths of geometric units, and effectively ensuring the rendering sense of layering and visual realism of various semi-transparent vegetation scenes such as leaves, grass, and flowers.

[0094] In one approach, a first rendering result is associated with the depth value of a corresponding polygon unit; a second rendering result is associated with the depth value of a corresponding geometric unit; the first rendering result and the second rendering result are located at the same pixel position in screen space; if the depth value of the polygon unit is less than the depth value of the geometric unit, the first rendering result is displayed at the same pixel position; if the depth value of the polygon unit is greater than the depth value of the geometric unit, the second rendering result is displayed at the same pixel position.

[0095] The first rendering result is associated with the depth value of the corresponding polygon unit, meaning that the first rendering result is associated with the depth value of the polygon unit that generated the rendering result relative to the viewing angle. The second rendering result is associated with the depth value of the corresponding geometric unit, meaning that the second rendering result is associated with the depth value of the geometric unit that generated the rendering result relative to the viewing angle.

[0096] When the first and second rendering results overlap in screen space, the occlusion relationship is determined by comparing their associated depth values: if the depth value of the polygon unit is smaller, it indicates that the polygon unit is closer to the viewing angle, and the first rendering result is used for the current pixel position; if the depth value of the geometric unit is smaller, the second rendering result is used for the current pixel position. Through this depth comparison mechanism, the occlusion relationship in the scene space is accurately restored, thereby achieving correct occlusion superposition of the two types of rendered content.

[0097] The following embodiments provide a specific implementation method for determining the position information of geometric units in a virtual scene. This position information can be static position information, such as the initial position of a static geometric unit in a virtual scene; or it can be animation-driven dynamic position information, such as the real-time position obtained after offsetting and rotating the geometric unit through preset animation parameters, used to present the dynamic swaying effect of plant scene objects under force in the scene.

[0098] In one approach, the target scene object includes a first type of object; the second geometric unit in the second target geometric cluster includes: the target second geometric unit contained in the target model corresponding to the first type of object; based on the position of the target second geometric unit in the target model corresponding to the first type of object, the movement coefficient of the target second geometric unit is determined; based on the initial position, movement coefficient, and preset animation parameters of the target second geometric unit, the movement position of the target second geometric unit is determined, and the movement position is determined as the position information of the target second geometric unit in the virtual scene.

[0099] The second target cluster mentioned above can be the target cluster containing the geometric unit; the second geometric unit is a geometric unit. The first type of object mentioned above can be scene objects constructed from geometric units, such as leaves, grass, and flowers. The animation parameters mentioned above can be used to simulate the dynamic effects of scene objects. For example, taking plant-type scene objects as an example, the animation parameters can be wind field parameters, swaying parameters, deformation parameters, etc. The movement coefficient mentioned above is used to indicate the deformation amplitude of a single geometric unit affected by the animation parameters.

[0100] The following explanation will be based on the example of the first type of object being grassland, the second geometric unit of the target being a Gaussian body, and the animation parameters being wind field parameters.

[0101] The grassland model is constructed entirely of Gaussian bodies. Based on the distribution of each Gaussian body within the model, its corresponding movement coefficient is calculated to differentiate the wind-induced swaying amplitude and deformation of Gaussian bodies at different locations. Generally, Gaussian bodies closer to the ground root have smaller movement coefficients and weaker swaying amplitudes; Gaussian bodies at the tips of the grass blades have larger movement coefficients and more pronounced dynamic swaying effects.

[0102] During the animation execution phase, the initial position and self-movement coefficient of the Gaussian body are fused and calculated with the animation parameters by combining wind field parameters such as wind direction vector and wind intensity. The real-time displacement coordinates of the Gaussian body are obtained frame by frame, which are the position information of the Gaussian body in the current frame in the virtual scene.

[0103] Specifically, the movement coefficient of the target's second geometric unit can be determined in the following manner: The second geometric unit of the target is a geometric unit. The system determines the specified geometric unit within the low-level model region corresponding to the lowest-level node in the hierarchical bounding box tree of the target model corresponding to the first type of object, and determines the position parameters corresponding to each specified geometric unit. The position parameters correspond to the distribution position of the specified geometric unit within the low-level model region. If the second geometric unit of the target is a specified geometric unit, the position parameters are determined as movement coefficients. If the second geometric unit of the target is not a specified geometric unit, the low-level model region contained within the first model region where the second geometric unit of the target is located is determined. The position parameters corresponding to multiple specified geometric units within the low-level model region covered by the first model region are fused, and the fusion result is used as the movement coefficient.

[0104] The aforementioned low-level model region refers to the specified model region corresponding to the lowest-level node in the hierarchical bounding box tree. The geometric units that make up this low-level model region have the smallest unit size and the finest model granularity.

[0105] In this method, the bounding box tree of the first type of object is first traversed to locate the low-level model region corresponding to the lowest-level node, and all specified geometric units within the low-level model region are extracted. Then, specific position parameters are set according to the distribution of each specified geometric unit in the low-level model region. These position parameters directly reflect the influence weight of the position of the specified geometric unit on the animation motion.

[0106] In one specific implementation, taking grassland as an example, the aforementioned position parameters are stored as 1-byte unsigned integers, with values ​​ranging from 0 to 255. When used, they are normalized and converted to the floating-point range of 0.0 to 1.0; 0 represents that the vegetation roots are completely fixed, and 255 represents that the leaf tips are completely free. For geometric units located at the roots and close to the ground in the grassland model, smaller position parameters (such as values ​​of 0, normalized to 0.0) are set, corresponding to lower motion weights. When driven by animations such as wind field animations, the displacement and swaying amplitude are minimized. Geometric units located in the middle of the grass blades are set with medium-sized position parameters. Geometric units located at the tips of the grass blades and far from the ground are set with larger position parameters (such as values ​​of 255, normalized to 1.0), corresponding to higher motion weights, and the swaying amplitude is more obvious. This position parameter configuration method can achieve a bending effect where the vegetation roots are basically stationary, the middle of the leaves sway slightly, and the leaf tips sway significantly, which closely matches the real physical characteristics of plants swaying in the wind.

[0107] If the target second geometric unit is a specified geometric unit, that is, the target model corresponding to the current first type of object is presented as the specified geometric unit corresponding to the bottom node of the hierarchical bounding box tree, then the position parameter corresponding to the specified geometric unit is directly used as the movement coefficient of the target second geometric unit.

[0108] If the target second geometric unit is not a specified geometric unit, first locate the first model region where the target second geometric unit is located. Based on the hierarchical bounding box tree of the model corresponding to the first type of object, filter out the low-level model regions that are covered by the spatial range of the first model region. Then, average the position parameters of the specified geometric units in these low-level model regions, and finally use the average value as the movement coefficient of the target second geometric unit.

[0109] This method allows for rapid coefficient assignment and smooth transitions based on the hierarchical structure of the BVH tree, enabling geometric units at different locations on the grassland to exhibit a hierarchical and differentiated swaying effect, ensuring a natural and coherent animation transition.

[0110] In one specific method, the animation parameters include: wind intensity and wind direction vector; the displacement of the target second geometric unit is calculated based on the wind intensity, wind direction vector, and the square of the movement coefficient; and the position of the target second geometric unit is determined based on the displacement and the initial position of the target second geometric unit.

[0111] In one example, the displacement is obtained by multiplying the wind intensity, wind direction vector, and the square of the displacement coefficient. Based on the displacement and the initial position of the target second geometric element, the position of the target second geometric element can be determined.

[0112] In another type of target scene object, the target scene object is defined as a second type of object; the first target cluster includes: the first type of associated cluster of the target model corresponding to the second type of object; the second target cluster includes: the second type of associated cluster of the target model corresponding to the second type of object; the second type of associated cluster is associated with a specified first geometric unit within the first type of associated cluster.

[0113] Based on preset animation parameters and the initial position of the first geometric unit within the first type of associated cluster, the movement position of the first geometric unit is determined, and the movement position of the first geometric unit is determined as the position information of the first geometric unit in the virtual scene; based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit, the movement position of the second geometric unit within the second type of associated cluster associated with the specified first geometric unit is determined, and the movement position of the second geometric unit is determined as the position information of the second geometric unit in the virtual scene.

[0114] The second type of object mentioned above can be a tree with branches; among them, rigid structures such as trunks and branches can be constructed using polygonal units, while thin or semi-transparent structures such as leaves, grass, and flowers can be constructed using geometric units. That is, the first geometric unit is a polygonal unit; the second geometric unit is a geometric unit.

[0115] Here, the first type of associated cluster in the first target cluster refers to the cluster containing the polygonal units of the second type of object; the second target cluster refers to the cluster containing the geometric units of the second type of object. The second type of associated cluster is associated with a specified first geometric unit within the first type of associated cluster. That is, the cluster of geometric units contained in the second type of object is associated with a specified polygonal unit within the first type of associated cluster. The geometric units within the second type of associated cluster undergo positional offset synchronously with the vertex spatial displacement of the associated specified polygonal unit. The deformation result of the specified polygonal unit directly drives the spatial position update of the geometric units within the associated second type of associated cluster.

[0116] The aforementioned reference movement position refers to the movement position of the specified first geometric unit, and the aforementioned reference initial position refers to the initial position of the specified first geometric unit.

[0117] Specifically, taking the second type of object as a tree as an example, the animation operation is performed on the polygonal units in the first type of associated cluster in the tree model to obtain the movement position corresponding to each polygonal unit. The movement position corresponding to the polygonal unit is the position information of the aforementioned first geometric unit in the virtual scene.

[0118] Since the second type of associated cluster where the geometric unit is located is pre-associated with the specified polygon unit, the rigid body transformation relationship is solved based on the initial position (i.e., the reference initial position corresponding to the aforementioned specified first geometric unit) and the movement position (i.e., the reference movement position corresponding to the aforementioned specified first geometric unit). Then, the transformation is applied to all geometric units in the associated second type of associated cluster, and finally the movement position of each geometric unit is determined. The movement position of the geometric unit is the position information of the aforementioned second geometric unit in the virtual scene.

[0119] It should be noted that a single specified first geometric unit can be associated with multiple second-type association clusters simultaneously. Based on this, global deduplication can be performed on all specified first geometric units associated with all second-type association clusters, filtering out a list of unique specified first geometric units. During animation rendering, the animation function is only evaluated for the specified first geometric units in this list. All second-type association clusters associated with a specified first geometric unit uniformly share the movement position data of that specified first geometric unit, eliminating the need to repeatedly execute animation function calculations for the same specified first geometric unit. This effectively eliminates redundant calculations, significantly reduces GPU computing power consumption during the animation update phase, and improves overall animation rendering efficiency.

[0120] Specifically, the movement position of the second geometric unit within the second type of associated cluster can be determined in the following manner: Based on the reference moving position and the reference initial position, determine the rotation matrix and translation amount of the specified first geometric unit; obtain the initial position of the second geometric unit within the second type of associated cluster, and perform rotation and translation operations on the initial position of the second geometric unit using the rotation matrix and translation amount to obtain the moving position of the second geometric unit.

[0121] The aforementioned first geometric unit includes a specified polygonal unit; the second geometric unit within the second type of associated cluster includes geometric solid units; the aforementioned rotation matrix represents the attitude deflection angle generated before and after the specified polygonal unit moves; the aforementioned translation represents the spatial displacement deviation of the specified polygonal unit as a whole before and after its movement. For example, using the aforementioned animation parameters such as wind intensity and wind direction vector, combined with the reference initial position of a specified polygonal unit and a preset animation function, the deformed position of the vertex of the specified polygonal unit is calculated and used as the reference movement position. This animation function can be a WPO function, which takes time and the reference initial position as input and uses a sine function to generate a dynamic offset to simulate the effect of natural wind. Based on the offset, the initial position of the specified polygonal unit is offset to obtain the corresponding movement position of the specified polygonal unit, which is then used as the reference movement position.

[0122] The reference movement position and the reference initial position refer to the vertex positions of the specified polygonal element. Based on the reference movement position and the reference initial position, the edge vectors and normal vectors of the specified polygonal element before and after deformation are calculated, and corresponding orthogonal coordinate frames are constructed based on the two sets of vectors. The coordinate transformation relationship between the two orthogonal coordinate frames before and after deformation is the rotation matrix R of the specified polygonal element. At the same time, the difference in centroid coordinates of the specified polygonal element before and after deformation is calculated, and this difference is taken as the translation amount of the specified polygonal element.

[0123] Because the second type of associated cluster is associated with the specified polygonal element, the geometric elements within the second type of associated cluster undergo a global rigid body transformation following the associated specified polygonal element. The solved translation and rotation matrices are simultaneously applied to all geometric elements within the associated second type of associated cluster to obtain the initial positions of the geometric elements within the second type of associated cluster. Translation and rotation operations are then performed sequentially on the initial positions of all geometric elements, causing the geometric elements within the second type of associated cluster to synchronously complete the displacement and deflection following the specified polygonal element.

[0124] In one approach, a first geometric unit is specified, including a specified polygonal unit; a second geometric unit within a second type of associative cluster includes geometric solid units, each configured with an initial covariance matrix; wherein the covariance matrix is ​​used to indicate the shape and spatial orientation of the geometric solid units; after specifying the rotation matrix of the first geometric unit, matrix multiplication is performed based on the rotation matrix, the initial covariance matrix, and the transpose of the rotation matrix to obtain an updated covariance matrix; based on the updated covariance matrix, the shape and spatial orientation of the geometric solid units within the second type of associative cluster are updated.

[0125] The initial shape and spatial rotation attitude of the aforementioned geometric units are defined by a preset initial covariance matrix. When a specified polygonal unit undergoes rotational deformation, the associated geometric units in the second type of cluster must rotate synchronously to maintain their conformity to the vegetation surface, thus avoiding the unnatural phenomenon where the position of the geometric unit follows the movement but its shape and orientation remain unchanged.

[0126] Here, after determining the rotation matrix of a specified polygonal unit, matrix multiplication is performed based on the rotation matrix, the initial covariance matrix, and the transpose of the rotation matrix to obtain the updated covariance matrix. For example, a method for calculating the updated covariance matrix is ​​provided: C=R D E; where C is the updated covariance matrix; R is the rotation matrix; and E is the transpose of the rotation matrix. Based on the updated covariance matrix, the shape and spatial orientation of the geometric units within the second type of associated cluster are updated. This transformation method ensures that the geometric units synchronously inherit the rotational changes of the polygon units. Finally, based on the updated covariance matrix, the rendering shape and spatial orientation of the geometric units within the second type of associated cluster are re-analyzed and generated. This allows geometric units such as leaves and petals to not only follow the branch polygons in completing position translation and rotational deformation, but also to synchronously adapt to changes in posture and shape, achieving a natural following rendering effect of the overall structure as the rigid body of the branch deforms.

[0127] In one approach, the scene model corresponding to a scene object within a virtual scene is constructed using a scene model template; multiple types of scene model templates and corresponding template page data are created; wherein the template page data includes the hierarchical bounding box tree and geometric unit data corresponding to the scene model template; a preset matrix transformation is performed on the scene model template to generate multiple visual variants of the scene model template; wherein the visual variants are associated with the scene model template; the visual variants are arranged in the virtual scene to obtain the scene model corresponding to the scene object; wherein the visual variant corresponds to at least one scene model; the scene model and the corresponding visual variant share the template page data of the scene model template associated with the visual variant.

[0128] The aforementioned unit data includes: the first geometric unit and its original coordinates in the scene model template, the material information of the geometric unit, animation function configuration parameters, and the association between the geometric unit and the cluster. The aforementioned template position information includes: the reference position of the scene model template in the world coordinate system, and the overall spatial enclosure of the template. This type of position information serves as global reference data, providing a data foundation for subsequent template matrix transformations and batch calculations of visual variants. Specifically, in the offline phase, various types of scene model templates are first built, along with corresponding template page data. This template page data uniformly stores the unit data of various geometric units such as the model's hierarchical bounding box tree, polygon units, and geometric units, as well as the template position information of the scene model templates. This template page data can serve as a common data source for visual variants.

[0129] Subsequently, through matrix transformation operations such as scaling, rotation, and translation, the scene model template is morphologically adjusted to obtain various visual variants with differences in shape, orientation, and size, enriching the representation of vegetation within the scene. Each visual variant is associated with the scene model template used to obtain it. All visual variants no longer repeatedly store bounding box trees, geometric unit data, etc., but directly reuse the template's page data, effectively reducing data redundancy and memory overhead.

[0130] By arranging visual variants in a virtual scene, scene models corresponding to scene objects in the virtual scene can be instantiated. The same visual variant can be reused multiple times to create multiple scene models with the same form in batches. The visual variants and all the scene models derived from them do not store core data such as hierarchical bounding box trees, geometric unit data, animation parameters, and reference positions separately. Instead, they uniformly call the template page data of the scene model template associated with the visual variant to achieve resource sharing and reduce data redundancy.

[0131] After determining the placement of each scene object, the spatial coordinates of the entire scene model and all its internal geometric units are calculated in batches by overlaying the corresponding matrix transformations based on the template page data. Subsequently, based on the location information of the scene objects, target scene objects within the viewing frustum of the virtual scene are selected, and then the subsequent rendering process is executed.

[0132] This construction pattern relies on template reuse and matrix transformation to achieve batch instantiation, which not only ensures the uniformity of structure and animation logic of scene models of the same type, but also quickly generates vegetation clusters with different shapes and staggered distribution, effectively reducing scene resource storage overhead and memory occupation, and improving the efficiency of building virtual scene vegetation and rendering performance.

[0133] In one embodiment, taking 62,500 grass block instances as an example, if each block uses independent model data, the root page resident data alone (about 32KB per template) requires about 1.9GB of GPU video memory. The video memory usage is large and cannot meet the requirements for real-time rendering, making the project feasibility extremely low.

[0134] When using the template sharing mechanism of this solution, only 10 to 50 basic vegetation templates need to be configured, and the corresponding root page resident data only occupies 320KB to 1.6MB of video memory, resulting in extremely low basic resource overhead. Based on this, each grassland block instance can generate approximately 400 differentiated visual variations through template differentiation, combined with fixed-angle rotation (0 degrees, 90 degrees, 180 degrees, 270 degrees), horizontal mirroring, and random scaling (e.g., ±5%), which can completely improve the homogenization problem of large-scale grassland scenes. This solution, relying on a combination of template resource reuse and instance matrix transformation, can fully meet the visual diversity rendering needs of large-scale virtual vegetation scenes with extremely low video memory overhead, while balancing rendering effects and hardware compatibility.

[0135] Existing vegetation Gaussian splash rendering technology has significant drawbacks. First, it cannot achieve continuous rendering of high-density vegetation across the entire distance. For example, a 500×500 meter grassland scene can reach a maximum precision of 75 million Gaussian volumes, far exceeding the real-time rendering capabilities of current GPUs. Traditional 3DGS lacks a distance-adaptive hierarchical compression structure, rendering Gaussian volumes at near and far distances with their original precision. Low-quality replacement or culling is only possible at mid-to-long distances, resulting in severe visual discontinuities. Second, vegetation animation computation is extremely expensive. Gaussian volumes are independent rendering primitives, lacking batch-driven mesh skeletons. Solving the wind animation function on a Gaussian-by-Gaussian basis generates massive redundant calculations, making it difficult to drive large-scale vegetation dynamic effects in real-time. Third, the rendering pipeline is fragmented. Near and far scenes rely on multiple independent systems for layered rendering, including high-precision meshes, simplified meshes, and 2D textures, resulting in high asset redundancy and a complex pipeline.

[0136] To address the aforementioned shortcomings, this application sets the rendering unit of the vegetation model to a three-dimensional Gaussian ellipsoid and / or a polygonal unit, wherein the three-dimensional Gaussian ellipsoid is jointly defined by position parameters, covariance matrix, color parameters, and opacity parameters. On the one hand, by compressing and optimizing massive Gaussian units through hierarchical bounding box trees, and adaptively matching and selecting geometric units of appropriate size to participate in rendering based on the projection size of the model region in screen space, tens of millions of three-dimensional Gaussian ellipsoids in the scene can be simplified into tens of thousands to hundreds of thousands of visible units for actual rendering, with a compression ratio of hundreds of times or more, significantly reducing the rendering load. On the other hand, relying on the association mechanism between polygonal units and Gaussian clusters, a small number of skeleton motion parameters are batch mapped to massive Gaussian units, achieving natural dynamic animation effects of various vegetation with extremely low storage and runtime computation overhead. At the same time, this application only needs to preset a set of vegetation model templates constructed from geometric units and their corresponding hierarchical bounding box trees and other basic data, and can generate multiple visual variants through matrix transformation, realizing global reuse of template resources. There is no need to create multiple independent assets for different viewing distances and different forms of vegetation, nor is there a need to build multiple independent rendering pipelines, which greatly reduces the art production cost of vegetation scenes and the deployment overhead of rendering pipelines, solving various pain points of existing technologies.

[0137] In one way, such as Figure 2 As shown, taking a scene object containing multiple types of vegetation objects as an example, the vegetation rendering scheme of the entire virtual scene works collaboratively through four core systems to achieve efficient culling of large-scale vegetation clusters, animation-driven rendering, and unified rendering. Taking geometric units including Gaussian solids and triangles as examples, the data flow relationships between the systems are as follows: 1. Culling System: As the starting point of the entire pipeline, it receives all vegetation objects (including trees, grasslands, shrubs, crops, etc.) in the scene and sequentially performs three levels of operations: object culling, node culling and target-level node selection, and cluster culling.

[0138] Specifically, object culling refers to quickly culling scene objects that are not within the view frustum of the virtual camera; on the GPU side, the bounding boxes of all scene objects are traversed, the spatial positional relationship between the bounding boxes and the view frustum of the virtual camera is verified, and scene objects outside the view frustum are culled to obtain the target scene object; Node culling and target hierarchy node selection refer to traversing the hierarchical bounding box tree (BVH) of the target scene object, performing view frustum and occlusion culling on the hierarchy nodes, and determining the target hierarchy node corresponding to the target scene object based on the projection size of the specified model region corresponding to the hierarchy node in screen space. This node directly determines the accuracy level of the target scene object model and is the key to reducing unnecessary rendering computational overhead. Cluster culling refers to filtering out the target geometric clusters to be rendered from the initial geometric clusters, retaining only the target geometric clusters that will eventually be visible. Specifically, a depth pyramid can be used to perform occlusion detection on each initial geometric cluster, removing invalid geometric clusters that are occluded by scene elements in the virtual scene.

[0139] After the above three-level elimination process, the remaining geometric clusters corresponding to different vegetation types are uniformly collected into the same candidate cluster list. The list does not distinguish between vegetation types, providing a data source for subsequent rendering distribution.

[0140] 2. Streaming mechanism: Read the output of the culling system and stream according to the cluster type label. Send the triangle cluster to the triangle cluster buffer for rasterization rendering of branches and trunks; send the Gaussian cluster containing the Gaussian body to the Gaussian body cluster buffer for subsequent splash pipeline processing, forming two independent processing paths.

[0141] 3. Cluster Rigid Body Animation System: This system reads the binding information from the visible Gaussian cluster buffer, retrieves the vertices of specified triangles bound to Gaussian clusters from the page data of the triangle path, calls the WPO function to calculate the vertex deformation results, and generates a deformed bound triangle buffer. This system realizes the animation linkage between triangle skeleton data and Gaussian leaf cluster data, serving as a key bridge between the two geometric representations. Specifically, since multiple sphere clusters may be associated with the same polygonal unit (like multiple clusters of leaves hanging on a branch corresponding to sphere clusters), the animation system first performs deduplication processing on the associated polygonal units, executing the animation function evaluation only once for each unique polygonal unit to avoid redundant calculations. In one embodiment, after deduplication of approximately 2 million Gaussian bodies (approximately 31,000 clusters), only approximately 20,000 unique polygonal units need to be evaluated for the animation function, taking approximately 0.05 to 0.15 milliseconds. The storage overhead for rigid body binding of the entire cluster is only 4 bytes per cluster (i.e. 0.0625 bytes per Gaussian body), and the total runtime overhead is about 0.11 to 0.21 milliseconds. Compared with the Gaussian body evaluation animation function (2 million function evaluations per frame), the computation is reduced by about 64 times.

[0142] 4. Unified Splash Pipeline: This pipeline reads cluster references from the visible Gaussian cluster buffer, combines them with animation data from the deformed and bound triangle buffers, and then performs projection, sorting, and compositing operations sequentially. Gaussian data from all vegetation types converge here into a unified rendering stream, which is finally combined with the triangle paths in the depth-aware compositing stage to output the final image.

[0143] Furthermore, the template instantiation system, as an offline building module, provides model template data for the culling system. By sharing templates and matrix transformation variants, efficient management of large-scale grassland instances can be achieved, significantly reducing GPU memory overhead.

[0144] In one approach, such as Figure 3 As shown, this invention designs a full-range Gaussian volume layered compression mechanism for grassland models. The layered bounding box tree corresponding to the grassland contains multiple layers, with the layers arranged from low to high, matching different sizes and numbers of three-dimensional geometric units, such as Gaussian volumes, to achieve a seamless transition from foreground grass details to background terrain textures, significantly reducing GPU overhead while ensuring visual effects.

[0145] The implementation methods for each layer are as follows: 1) LOD0 level: The level nodes correspond to the refined local areas of the grass model. The grass model has about 1200 Gaussian bodies. Each leaf is composed of 3 Gaussian bodies: root, middle section and tip, which fully restores the microscopic details. 2) LOD1 level: The model area corresponding to the level nodes in this level is expanded. The areas of 2 to 3 leaves are merged into one large Gaussian body, and the grassland model is simplified to 300 Gaussian bodies. 3) LOD2 level: The model area corresponding to the level nodes in this level is further expanded. Approximately 10 leaf areas are merged into a larger Gaussian body, and the grassland model has approximately 40 Gaussian bodies. 4) LOD3 level: The level contains nodes that can cover the macroscopic model area of ​​the entire plot. The grassland model is only configured with 4 to 8 larger Gaussian bodies to achieve the overall color block expression. Terrain blending (>100m, distant view): Gaussian volume rendering is no longer used. Instead, terrain textures are used to replace grass details, reducing the number of Gaussian volumes to 0 and completely eliminating rendering overhead.

[0146] Another approach uses the player's view distance as they move further away from the grass to drive the dynamic switching of the BVH tree LOD levels. The hierarchical Gaussian cluster merging scheme is as follows: 0-5m is the LOD0 level: the lowest level node of BVH corresponds to the fine surface area. The single grass model is configured with 1200 Gaussian bodies. The single grass blade is divided into three groups of Gaussian ellipsoids: root, middle section and tip, to fully restore the detailed shape of a single grass blade. 5-15m is the LOD1 level: the upper nodes merge local areas, the Gaussian bodies of 2-3 grass leaves are aggregated into a single large Gaussian body, and the single grass model is simplified to 300 Gaussian bodies, visually presenting the effect of continuous clumps of leaves; The LOD2 level is 15-40m: the node coverage continues to expand, about 10 leaves are clustered and merged, and the single grass model retains only 40 Gaussian values, so the overall grass texture is continuous. The 40-80m range is the LOD3 level: nodes cover the entire grassland block, and a single grassland model is compressed to 4-8 larger Gaussian volumes. Color blocks are used to represent the macroscopic appearance of the grassland, and the initial opacity of the Gaussian volume is 1.0. 80-100m is the LOD3 level (LOD3 + terrain gradient blending): the terrain fading blending algorithm is activated, the LOD3 Gaussian transparency decreases linearly from 1 to 0, and the transparency of the pre-baked grass texture increases linearly from 0 to 1; at 80m, the grass color blocks begin to fade, at 90m the Gaussian semi-transparent and the terrain texture is revealed simultaneously, and at 100m the Gaussian volume transparency is 0. For distant views greater than 100m: abandon all Gaussian rendering and rely entirely on terrain textures to carry the color of the grass. The Gaussian quantity is reduced to zero, completely saving the computational cost of vegetation rendering.

[0147] In a typical embodiment, taking a 500m x 500m grassland area as an example, it contains 62,500 block instances divided into 2x2m blocks. At the highest level (LOD0), all blocks contain approximately 75 million Gaussian volumes (calculated from the 62,500 blocks and approximately 1,200 Gaussian volumes per block). After the aforementioned multi-level adaptive compression, the total number of Gaussian volumes actually involved in rendering under a typical outdoor view is only 80,000 to 120,000, achieving a compression ratio of 625 to 937 times. This compression capability makes large-scale, full-distance grassland rendering, which was previously infeasible, possible.

[0148] The entire layer switching is automatically controlled by the SmallEnoughToDraw screen projection error criterion, which dynamically selects the appropriate precision level based on the projection size of the grass in the screen space, ensuring that the grass at different distances can be rendered with optimal precision and performance.

[0149] In addition, considering that the above-mentioned layer switching adopts a hard switching method (only one layer of geometric units is rendered in the same area at the same time, and two layers are not rendered at the same time for blending), a slight visual jump may occur when switching layers. To alleviate this phenomenon, this embodiment uses three measures in combination: (1) Apply a random perturbation (positive and negative 10%) based on the world coordinate hash value of the block to the preset threshold of each block, break the concentric ring-shaped layer boundary into a random transition zone of about 3 meters wide, and avoid large areas of grass switching layers at the same time; (2) The scale of the Gaussian body of the higher layer (about 0.4 meters radius) makes it naturally extend beyond the block boundary, overlap with the Gaussian body of the adjacent block, and blur the seam between blocks; (3) When transitioning from the highest layer to terrain blending, within the range of 80 to 100 meters, the opacity of the Gaussian body gradually fades to zero, while the grass color of the terrain texture gradually appears, achieving a smooth transition.

[0150] For the corresponding method embodiments described above, see [link to relevant documentation]. Figure 4 The diagram shows a rendering apparatus for a scene object, the apparatus comprising: The first determining module 402 is used to determine the target scene object in the virtual scene; wherein, the target scene object has a corresponding target model preset, and the target model is composed of geometric units; The first acquisition module 404 is used to acquire the hierarchical bounding box tree of the target model; wherein, the hierarchical bounding box tree contains multiple levels; the element size of the geometric element is related to the level corresponding to the geometric element; the level contains at least one level node; the level node corresponds to a specified model region of the target model; The second determining module 406 is used to determine the target hierarchical node corresponding to the target model and the initial geometric cluster within the specified model region corresponding to the target hierarchical node based on the projection size of the specified model region corresponding to the hierarchical node in the screen space; wherein, the initial geometric cluster includes multiple geometric elements. The first partitioning module 408 is used to determine the target geometric cluster to be rendered from the initial geometric cluster, and to partition the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric unit; wherein, the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; The first rendering module 410 is used to execute a first rendering mode on the first geometric unit in the first target cluster and a second rendering mode on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

[0151] This method only requires a pre-set scene model composed of geometric units and its hierarchical bounding box tree to meet the rendering needs of the entire scene from any viewing distance. Relying on the hierarchical bounding box tree and combining it with the projection size of the model area in screen space, it adaptively matches and selects geometric units of suitable size for rendering, effectively reducing the total number of geometric units to be rendered and lowering rendering computational costs. All target scene objects within the virtual scene share a unified rendering pipeline to complete hierarchical filtering, cluster extraction, and rendering process processing. There is no need to create multiple sets of model assets for different object types and viewing distances, nor is it necessary to deploy multiple independent rendering pipelines, significantly reducing art production costs and rendering pipeline deployment overhead. Within the overall framework of the unified rendering pipeline, this solution achieves smooth adaptive switching of rendering details, effectively improving the visual coherence and overall visual performance of large-scale scenes.

[0152] The higher the level, the larger the unit size of the geometric unit of the target model. The first acquisition module is used to determine the current level from the hierarchical bounding box tree of the target model in order from high level to low level. For each current level node contained in the current level, based on the object position of the target scene object in the virtual scene, the module determines the projection size of the specified model area corresponding to the current level node in the screen space and the preset threshold corresponding to the current level node. If the projection size corresponding to the current level node is less than the preset threshold, the current level node is determined as the target level node. If the projection size corresponding to the current level node is not less than the preset threshold, the module continues to determine the target level node from the next level of the current level.

[0153] The first acquisition module is used to determine the projection deviation between the projection of the specified model area of ​​the target scene object at the current level node and the projection at the lowest level node in the preset reference screen space; determine the visual error of the projection deviation in the world space corresponding to the virtual scene; and determine a preset threshold based on the visual error and the object position.

[0154] The first geometric unit includes a polygon unit; the second geometric unit includes a geometric solid unit; the first rendering module is used to perform rasterization processing on the polygon unit in the first target cluster in the virtual scene based on the position information of the polygon unit in the first target cluster in the virtual scene to obtain a first rendering result; to perform splashing processing on the geometric solid unit in the second target cluster in the virtual scene based on the position information of the geometric solid unit in the second target cluster in the virtual scene to obtain a second rendering result; and to determine the rendering result of the target scene object based on the first rendering result and the second rendering result.

[0155] The aforementioned target scene objects include multiple objects; the types of the target scene objects include various types; the second target cluster includes geometric units of various types of target scene objects; the first rendering module is used to determine the target pixel region where the projection of the geometric unit in the screen space is located, and the depth value of the geometric unit, based on the position information of each geometric unit in the second target cluster in the virtual scene; wherein, the depth value is used to indicate the distance between the geometric unit and the viewing angle; the rendering arrangement order of each geometric unit in the target pixel region is determined based on the depth value; the front-to-back transparency blending is performed on the geometric units according to the rendering arrangement order, and the rendering of the current target pixel region is terminated in advance when the accumulated opacity reaches a preset termination threshold, to obtain a second rendering result.

[0156] A first rendering module is configured to display the first rendering result at the same pixel position if the depth value of the polygon unit is less than the depth value of the geometric unit; and to display the second rendering result at the same pixel position if the depth value of the polygon unit is greater than the depth value of the geometric unit.

[0157] The aforementioned target scene objects include a first type of object; the second geometric unit in the second target cluster includes: the target second geometric unit contained in the target model corresponding to the first type of object; the aforementioned device further includes a third determining module, used to determine the movement coefficient of the target second geometric unit based on the position of the target second geometric unit in the target model corresponding to the first type of object; and to determine the movement position of the target second geometric unit based on the initial position of the target second geometric unit, the movement coefficient, and preset animation parameters, and to determine the movement position as the position information of the target second geometric unit in the virtual scene.

[0158] The third determining module is used to determine the movement position of the first geometric unit based on preset animation parameters and the initial position of the first geometric unit within the first type of associated cluster, and to determine the movement position of the first geometric unit as the position information of the first geometric unit in the virtual scene; based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit, to determine the movement position of the second geometric unit within the second type of associated cluster associated with the specified first geometric unit, and to determine the movement position of the second geometric unit as the position information of the second geometric unit in the virtual scene.

[0159] The third determining module described above is used to determine the rotation matrix and translation amount of the specified first geometric unit based on the reference moving position and the reference initial position; obtain the initial position of the second geometric unit within the second type of associated cluster; and perform rotation and translation operations on the initial position of the second geometric unit using the rotation matrix and the translation amount to obtain the moving position of the second geometric unit.

[0160] The aforementioned apparatus further includes a first creation module, configured to create multiple types of scene model templates and corresponding template page data for the scene model templates; wherein the template page data includes a hierarchical bounding box tree corresponding to the scene model template and unit data of the geometric units; perform a preset matrix transformation on the scene model template to generate multiple visual variants of the scene model template; wherein the visual variants are associated with the scene model templates; arrange the visual variants in the virtual scene to obtain a scene model corresponding to the scene object; wherein the visual variants correspond to at least one scene model; the scene model and the corresponding visual variant share the template page data of the scene model template associated with the visual variant.

[0161] This embodiment also provides an electronic device, including a processor and a memory. The memory stores computer-executable instructions that can be executed by the processor. The processor executes the computer-executable instructions to implement the rendering method for the scene object described above. This electronic device can be a server or a terminal device.

[0162] See Figure 5 As shown, the electronic device includes a processor 100 and a memory 101. The memory 101 stores computer-executable instructions that can be executed by the processor 100. The processor 100 executes the computer-executable instructions to implement the rendering method of the scene object described above.

[0163] Furthermore, Figure 5 The illustrated electronic device also includes a bus 102 and a communication interface 103. The processor 100, communication interface 103, and memory 101 are connected via the bus 102. The memory 101 may include high-speed random access memory (RAM) or non-volatile memory, such as at least one disk drive. Communication between this system network element and at least one other network element is achieved through at least one communication interface 103 (which can be wired or wireless). The interface can use the Internet, wide area network, local area network, metropolitan area network, etc. The bus 102 can be an ISA bus, PCI bus, or EISA bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 5The diagram uses only a single bidirectional arrow, but this does not imply a single bus or a single type of bus. Processor 100 may be an integrated circuit chip with signal processing capabilities. In implementation, each step of the above method can be completed by the integrated logic circuitry in the hardware of processor 100 or by instructions in software form. Processor 100 can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this invention. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this invention can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software module can reside in a readily available storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 101, and the processor 100 reads the information from memory 101 and, in conjunction with its hardware, completes the steps of the method described in the foregoing embodiments.

[0164] The processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene object: determining a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, and the target model is composed of geometric units; a first acquisition module is used to acquire the hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; based on the projection size of the specified model region corresponding to the level node in screen space, determining the target level node corresponding to the target model, and the initial geometric cluster within the specified model region corresponding to the target level node; wherein the initial geometric cluster includes multiple geometric units; determining the target geometric cluster to be rendered from the initial geometric cluster, and dividing the target geometric cluster into a first target cluster and a second target cluster according to the unit type of the geometric units; wherein the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; executing a first rendering mode on the first geometric unit in the first target cluster, and executing a second rendering mode on the second geometric unit in the second target cluster, to obtain the rendering result of the target scene object.

[0165] This method only requires a pre-set scene model composed of geometric units and its hierarchical bounding box tree to meet the rendering needs of the entire scene from any viewing distance. Relying on the hierarchical bounding box tree and combining it with the projection size of the model area in screen space, it adaptively matches and selects geometric units of suitable size for rendering, effectively reducing the total number of geometric units to be rendered and lowering rendering computational costs. All target scene objects within the virtual scene share a unified rendering pipeline to complete hierarchical filtering, cluster extraction, and rendering process processing. There is no need to create multiple sets of model assets for different object types and viewing distances, nor is it necessary to deploy multiple independent rendering pipelines, significantly reducing art production costs and rendering pipeline deployment overhead. Within the overall framework of the unified rendering pipeline, this solution achieves smooth adaptive switching of rendering details, effectively improving the visual coherence and overall visual performance of large-scale scenes.

[0166] The higher the level, the larger the unit size of the geometric unit of the target model. The processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene object: From the hierarchical bounding box tree of the target model, determine the current level in descending order of level; for each current level node contained in the current level, based on the object position of the target scene object in the virtual scene, determine the projection size of the specified model region corresponding to the current level node in the screen space and the preset threshold corresponding to the current level node; if the projection size corresponding to the current level node is less than the preset threshold, determine the current level node as the target level node; if the projection size corresponding to the current level node is not less than the preset threshold, continue to determine the target level node from the next level after the current level.

[0167] The processor in the aforementioned electronic device, by executing computer-executable instructions, can perform the following operations of the rendering method for the aforementioned scene object: determining the projection deviation between the projection of the specified model region of the target scene object at the current level node and the projection at the lowest level node in a preset reference screen space; determining the visual error of the projection deviation in the world space corresponding to the virtual scene; and determining a preset threshold based on the visual error and the object position.

[0168] The aforementioned first geometric unit includes a polygon unit; the processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene object: based on the position information of the polygon unit in the first target cluster in the virtual scene, perform rasterization processing on the polygon unit to obtain a first rendering result; based on the position information of the geometric unit in the second target cluster in the virtual scene, perform splashing processing on the geometric unit to obtain a second rendering result; based on the first rendering result and the second rendering result, determine the rendering result of the target scene object.

[0169] The aforementioned target scene objects include multiple objects; the types of the target scene objects include various types; the second target cluster includes geometric units of various types of target scene objects; the processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene objects: based on the position information of each geometric unit in the second target cluster in the virtual scene, determine the target pixel region where the projection of the geometric unit in the screen space is located, and the depth value of the geometric unit; wherein, the depth value is used to indicate the distance between the geometric unit and the viewing angle; determine the rendering arrangement order of each geometric unit in the target pixel region based on the depth value; perform front-to-back transparency blending on the geometric units according to the rendering arrangement order, and terminate the rendering of the current target pixel region in advance when the accumulated opacity reaches a preset termination threshold, to obtain a second rendering result.

[0170] The processor in the aforementioned electronic device can execute computer-executable instructions to implement the following operations of the rendering method for the aforementioned scene object: if the depth value of the polygon unit is less than the depth value of the geometric unit, the first rendering result is displayed at the same pixel position; if the depth value of the polygon unit is greater than the depth value of the geometric unit, the second rendering result is displayed at the same pixel position.

[0171] The aforementioned target scene objects include a first type of object; the second geometric unit in the second target cluster includes: the target second geometric unit contained in the target model corresponding to the first type of object; the processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene objects: determining the movement coefficient of the target second geometric unit based on the position of the target second geometric unit in the target model corresponding to the first type of object; determining the movement position of the target second geometric unit based on the initial position of the target second geometric unit, the movement coefficient, and preset animation parameters, and determining the movement position as the position information of the target second geometric unit in the virtual scene.

[0172] The processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene object: based on preset animation parameters and the initial position of the first geometric unit within the first type of associated cluster, determine the movement position of the first geometric unit, and determine the movement position of the first geometric unit as the position information of the first geometric unit in the virtual scene; based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit, determine the movement position of the second geometric unit within the second type of associated cluster associated with the specified first geometric unit, and determine the movement position of the second geometric unit as the position information of the second geometric unit in the virtual scene.

[0173] The processor in the aforementioned electronic device can execute computer-executable instructions to implement the following operations of the rendering method for the aforementioned scene object: based on the reference moving position and the reference initial position, determine the rotation matrix and translation amount of the specified first geometric unit; obtain the initial position of the second geometric unit within the second type of associated cluster; and perform rotation and translation operations on the initial position of the second geometric unit using the rotation matrix and the translation amount to obtain the moving position of the second geometric unit.

[0174] The processor in the aforementioned electronic device, by executing computer-executable instructions, can implement the following operations of the rendering method for the aforementioned scene object: creating multiple types of scene model templates and template page data corresponding to the scene model templates; wherein, the template page data includes the hierarchical bounding box tree corresponding to the scene model template and the unit data of the geometric unit; performing a preset matrix transformation on the scene model template to generate multiple visual variants of the scene model template; wherein, the visual variants are associated with the scene model templates; arranging the visual variants in the virtual scene to obtain the scene model corresponding to the scene object; wherein, the visual variants correspond to at least one scene model; the scene model and the corresponding visual variant share the template page data of the scene model template associated with the visual variant.

[0175] This embodiment also provides a storage medium storing computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions cause the processor to implement the above-mentioned scene object rendering method: determining a target scene object in a virtual scene; wherein, the target scene object has a pre-defined target model, and the target model is composed of geometric units; a first acquisition module is used to acquire the hierarchical bounding box tree of the target model; wherein, the hierarchical bounding box tree contains multiple levels; the unit size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; based on the specified model corresponding to the level node... The projection size of the model region in screen space is determined, the target hierarchical node corresponding to the target model is determined, and the initial geometric cluster within the specified model region corresponding to the target hierarchical node is determined. The initial geometric cluster includes multiple geometric units. The target geometric cluster to be rendered is determined from the initial geometric cluster, and the target geometric cluster is divided into a first target cluster and a second target cluster according to the unit type of the geometric units. The first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit. A first rendering mode is executed on the first geometric unit in the first target cluster, and a second rendering mode is executed on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

[0176] This method only requires a pre-set scene model composed of geometric units and its hierarchical bounding box tree to meet the rendering needs of the entire scene from any viewing distance. Relying on the hierarchical bounding box tree and combining it with the projection size of the model area in screen space, it adaptively matches and selects geometric units of suitable size for rendering, effectively reducing the total number of geometric units to be rendered and lowering rendering computational costs. All target scene objects within the virtual scene share a unified rendering pipeline to complete hierarchical filtering, cluster extraction, and rendering process processing. There is no need to create multiple sets of model assets for different object types and viewing distances, nor is it necessary to deploy multiple independent rendering pipelines, significantly reducing art production costs and rendering pipeline deployment overhead. Within the overall framework of the unified rendering pipeline, this solution achieves smooth adaptive switching of rendering details, effectively improving the visual coherence and overall visual performance of large-scale scenes.

[0177] The higher the level, the larger the unit size of the geometric unit of the target model. The computer-executable instructions stored in the computer-readable storage medium can be executed to implement the following operations in the rendering method of the scene object: From the hierarchical bounding box tree of the target model, determine the current level in descending order of level; for each current level node, based on the object position of the target scene object in the virtual scene, determine the projection size of the specified model region corresponding to the current level node in the screen space and the preset threshold corresponding to the current level node; if the projection size corresponding to the current level node is less than the preset threshold, determine the current level node as the target level node; if the projection size corresponding to the current level node is not less than the preset threshold, continue to determine the target level node from the next level after the current level.

[0178] The computer-executable instructions stored in the aforementioned computer-readable storage medium can, by executing the aforementioned computer-executable instructions, perform the following operations in the rendering method of the aforementioned scene object: determine the projection deviation between the projection of the specified model region of the target scene object at the current level node and the projection at the lowest level node in a preset reference screen space; determine the visual error of the projection deviation in the world space corresponding to the virtual scene; and determine a preset threshold based on the visual error and the object position.

[0179] The aforementioned first geometric unit includes a polygon unit; the computer-executable instructions stored in the aforementioned computer-readable storage medium, by executing the computer-executable instructions, can realize the following operations in the aforementioned scene object rendering method: based on the position information of the polygon units in the first target cluster in the virtual scene, perform rasterization processing on the polygon units to obtain a first rendering result; based on the position information of the geometric units in the second target cluster in the virtual scene, perform splashing processing on the geometric units to obtain a second rendering result; based on the first rendering result and the second rendering result, determine the rendering result of the target scene object.

[0180] The aforementioned target scene objects include multiple objects; the types of the target scene objects include various types; the second target cluster includes geometric units of various types of target scene objects; the computer-executable instructions stored in the aforementioned computer-readable storage medium can, by executing the computer-executable instructions, implement the following operations in the rendering method of the aforementioned scene objects: based on the position information of each geometric unit in the second target cluster in the virtual scene, determine the target pixel region where the projection of the geometric unit in the screen space is located, and the depth value of the geometric unit; wherein, the depth value is used to indicate the distance between the geometric unit and the viewing angle; determine the rendering arrangement order of each geometric unit in the target pixel region based on the depth value; perform front-to-back transparency blending on the geometric units according to the rendering arrangement order, and terminate the rendering of the current target pixel region in advance when the accumulated opacity reaches a preset termination threshold, to obtain a second rendering result.

[0181] The computer-executable instructions stored in the aforementioned computer-readable storage medium can, by executing the aforementioned computer-executable instructions, implement the following operations in the rendering method of the aforementioned scene object: if the depth value of the polygon unit is less than the depth value of the geometric unit, display the first rendering result at the same pixel position; if the depth value of the polygon unit is greater than the depth value of the geometric unit, display the second rendering result at the same pixel position.

[0182] The aforementioned target scene objects include a first type of object; the second geometric unit in the second target cluster includes: the target second geometric unit contained in the target model corresponding to the first type of object; the computer-executable instructions stored in the aforementioned computer-readable storage medium, by executing the computer-executable instructions, can realize the following operations in the rendering method of the aforementioned scene objects: determining the movement coefficient of the target second geometric unit based on the position of the target second geometric unit in the target model corresponding to the first type of object; determining the movement position of the target second geometric unit based on the initial position of the target second geometric unit, the movement coefficient, and preset animation parameters, and determining the movement position as the position information of the target second geometric unit in the virtual scene.

[0183] The computer-executable instructions stored in the aforementioned computer-readable storage medium, when executed, can realize the following operations in the rendering method of the aforementioned scene object: based on preset animation parameters and the initial position of the first geometric unit within the first type of associated cluster, determine the movement position of the first geometric unit, and determine the movement position of the first geometric unit as the position information of the first geometric unit in the virtual scene; based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit, determine the movement position of the second geometric unit within the second type of associated cluster associated with the specified first geometric unit, and determine the movement position of the second geometric unit as the position information of the second geometric unit in the virtual scene.

[0184] The computer-executable instructions stored in the aforementioned computer-readable storage medium can, by executing the aforementioned computer-executable instructions, implement the following operations in the rendering method of the aforementioned scene object: determining the rotation matrix and translation amount of the specified first geometric unit based on the reference moving position and the reference initial position; obtaining the initial position of the second geometric unit within the second type of associated cluster; and performing rotation and translation operations on the initial position of the second geometric unit using the rotation matrix and the translation amount to obtain the moving position of the second geometric unit.

[0185] The computer-executable instructions stored in the aforementioned computer-readable storage medium, when executed, can realize the following operations in the rendering method of the aforementioned scene object: creating multiple types of scene model templates and template page data corresponding to the scene model templates; wherein, the template page data includes the hierarchical bounding box tree corresponding to the scene model template and the unit data of the geometric unit; performing a preset matrix transformation on the scene model template to generate multiple visual variants of the scene model template; wherein, the visual variants are associated with the scene model templates; arranging the visual variants in the virtual scene to obtain the scene model corresponding to the scene object; wherein, the visual variants correspond to at least one scene model; the scene model and the corresponding visual variant share the template page data of the scene model template associated with the visual variant.

[0186] The computer program product of the scene object rendering method provided in the embodiments of the present invention includes a storage medium storing program code. The instructions included in the program code can be used to execute the methods in the preceding method embodiments. For specific implementation, please refer to the method embodiments, which will not be repeated here.

[0187] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system and apparatus described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0188] Furthermore, in the description of the embodiments of the present invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in the present invention based on the specific circumstances.

[0189] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0190] In the description of this invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.

[0191] Finally, it should be noted that the above embodiments are merely specific implementations of the present invention, used to illustrate the technical solutions of the present invention, and not to limit it. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed in the present invention, or make equivalent substitutions for some of the technical features; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for rendering scene objects, characterized in that, The methods include: Identify a target scene object in a virtual scene; wherein the target scene object has a pre-defined target model, and the target model is composed of geometric units; Obtain the hierarchical bounding box tree of the target model; wherein the hierarchical bounding box tree contains multiple levels; the element size of the geometric unit is related to the level corresponding to the geometric unit; the level contains at least one level node; the level node corresponds to a specified model region of the target model; Based on the projection size of the specified model region corresponding to the hierarchical node in the screen space, the target hierarchical node corresponding to the target model and the initial geometric cluster within the specified model region corresponding to the target hierarchical node are determined; wherein, the initial geometric cluster includes multiple geometric units. The target geometric cluster to be rendered is determined from the initial geometric cluster, and the target geometric cluster is divided into a first target cluster and a second target cluster according to the unit type of the geometric unit; wherein, the first target cluster includes a first geometric unit, and the second target cluster includes a second geometric unit; A first rendering mode is executed on the first geometric unit in the first target cluster, and a second rendering mode is executed on the second geometric unit in the second target cluster to obtain the rendering result of the target scene object.

2. The method according to claim 1, characterized in that, The higher the level, the larger the element size of the geometric unit of the target model; The step of determining the target hierarchical node corresponding to the target model based on the projection size of the specified model region corresponding to the hierarchical node in screen space includes: From the hierarchical bounding box tree of the target model, the current level is determined in order from high level to low level. For each current level node contained in the current level, based on the object position of the target scene object in the virtual scene, the projection size of the specified model area corresponding to the current level node in the screen space and the preset threshold corresponding to the current level node are determined. If the projection size corresponding to the current level node is less than the preset threshold, the current level node is determined as the target level node; If the projection size corresponding to the current level node is not less than the preset threshold, the target level node is determined from the next level after the current level.

3. The method according to claim 2, characterized in that, The step of determining the preset threshold corresponding to the current level node includes: In a preset reference screen space, determine the projection deviation between the projection of the specified model region of the target scene object at the current level node and the projection at the lowest level node; Determine the visual error of the projection deviation in the world space corresponding to the virtual scene; A preset threshold is determined based on the visual error and the object's position.

4. The method according to claim 1, wherein the first geometric unit comprises a polygonal unit; and the second geometric unit comprises a geometric solid unit; The step of executing a first rendering mode on a first geometric unit in the first target cluster and a second rendering mode on a second geometric unit in the second target cluster to obtain the rendering result of the target scene object includes: Based on the position information of the polygonal units in the first target cluster in the virtual scene, rasterization processing is performed on the polygonal units to obtain a first rendering result; Based on the position information of the geometric units in the second target cluster in the virtual scene, a splashing process is performed on the geometric units to obtain a second rendering result; Based on the first rendering result and the second rendering result, the rendering result of the target scene object is determined.

5. The method according to claim 4, characterized in that, The target scene object includes multiple objects; the type of the target scene object includes multiple types; the second target cluster includes geometric units of multiple types of target scene objects; The step of performing a splashing process on the geometric units in the second target cluster based on their position information in the virtual scene to obtain a second rendering result includes: Based on the position information of each geometric unit in the second target cluster in the virtual scene, the target pixel region where the projection of the geometric unit in the screen space is located, and the depth value of the geometric unit are determined; wherein, the depth value is used to indicate the distance between the geometric unit and the viewing angle; The rendering order of each geometric unit within the target pixel region is determined based on the depth value; The geometric units are subjected to front-to-back transparency blending according to the rendering order, and the rendering of the current target pixel area is terminated in advance when the accumulated opacity reaches a preset termination threshold, so as to obtain the second rendering result.

6. The method according to claim 4, characterized in that, The first rendering result is associated with the depth value of the corresponding polygon unit; the second rendering result is associated with the depth value of the corresponding geometric unit. The first rendering result and the second rendering result are located at the same pixel position in the screen space; The step of determining the rendering result of the target scene object based on the first rendering result and the second rendering result includes: If the depth value of the polygonal unit is less than the depth value of the geometric unit, the first rendering result is displayed at the same pixel position; If the depth value of the polygonal unit is greater than the depth value of the geometric unit, the second rendering result is displayed at the same pixel position.

7. The method according to claim 1, characterized in that, The target scene object includes a first type of object; the second geometric unit in the second target cluster includes: the target second geometric unit contained in the target model corresponding to the first type of object; Before the step of executing the second rendering mode on the second geometric unit in the second target cluster, the method includes: Based on the position of the target second geometric unit in the target model corresponding to the first type of object, the movement coefficient of the target second geometric unit is determined; Based on the initial position of the target second geometric unit, the movement coefficient, and the preset animation parameters, the movement position of the target second geometric unit is determined, and the movement position is determined as the position information of the target second geometric unit in the virtual scene.

8. The method according to claim 1, characterized in that, The target scene object includes a second type of object; the first target cluster includes: a first type of associated cluster of the target model corresponding to the second type of object; the second target cluster includes: a second type of associated cluster of the target model corresponding to the second type of object; the second type of associated cluster is associated with a specified first geometric unit within the first type of associated cluster; Before the step of executing the first rendering mode on the first geometric unit in the first target cluster, the method includes: Based on preset animation parameters and the initial position of the first geometric unit within the first type of associated cluster, the movement position of the first geometric unit is determined, and the movement position of the first geometric unit is determined as the position information of the first geometric unit in the virtual scene. Based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit, the movement position of the second geometric unit in the second type of associated cluster associated with the specified first geometric unit is determined, and the movement position of the second geometric unit is determined as the position information of the second geometric unit in the virtual scene.

9. The method according to claim 8, characterized in that, The step of determining the movement position of the second geometric unit within the second type of associated cluster associated with the specified first geometric unit based on the reference movement position corresponding to the specified first geometric unit and the reference initial position corresponding to the specified first geometric unit includes: Based on the reference moving position and the reference initial position, determine the rotation matrix and translation amount of the specified first geometric unit; Obtain the initial position of the second geometric unit within the second type of associated cluster, and perform rotation and translation operations on the initial position of the second geometric unit using the rotation matrix and the translation amount to obtain the moved position of the second geometric unit.

10. The method according to claim 1, characterized in that, The scene model corresponding to the scene object within the virtual scene is constructed using a scene model template. Prior to the step of determining the target scene object in the virtual scene, the method includes: Create various types of scene model templates and corresponding template page data for the scene model templates; wherein, the template page data includes the hierarchical bounding box tree corresponding to the scene model template and the unit data of the geometric unit; A preset matrix transformation is performed on the scene model template to generate multiple visual variations of the scene model template; wherein, the visual variations are associated with the scene model template. The visual variants are arranged in the virtual scene to obtain the scene model corresponding to the scene object; wherein, the visual variant corresponds to at least one scene model; the scene model and the corresponding visual variant share the template page data of the scene model template associated with the visual variant.