Three-dimensional scene rendering method and device
By perturbing the boundary regions of node units and clipping fragments, the problem of inter-node cracks in 3D Gaussian splashing technology is solved, improving rendering quality and performance and supporting ultra-large scene applications.
Patent Information
- Application Number
- CN202511319579.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-16
- Publication Date
- 2025-10-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In three-dimensional scene reconstruction, 3D Gaussian splattering technology causes obvious cracks at the interfaces between nodes due to factors such as inter-node sorting, intra-node sorting, and perspective changes, affecting rendering quality.
By perturbing the boundary regions between node units to make them irregular, and then trimming fragments that exceed the node bounding box in the fragment shader, cracks are eliminated, improving rendering quality and visual effects.
It eliminates the impact of inter-node cracks, improves rendering quality and performance, reduces the requirements for hardware such as memory, CPU, and GPU, and supports 3D Gaussian splashing applications in ultra-large scenes.
Smart Images

Figure CN120823328A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of three-dimensional scene reconstruction, and specifically to a three-dimensional scene rendering method, device, and computer-readable storage medium. Background Art
[0002] Recently, 3D Gaussian splattering (3DGS) technology, building upon Neural Radiance Fields (NeRF), has made significant progress in 3D scene reconstruction, achieving high-fidelity detail while maintaining low scene complexity, while also boasting high real-time rendering performance. Since its introduction, 3DGS has fundamentally changed the paradigm for 3D scene reconstruction and rendering, and has achieved widespread availability. Compared to traditional oblique photography mesh reconstruction and scene point cloud methods, 3DGS offers significant advantages in detail rendering and possesses excellent scalability and extensibility potential. It achieves high-fidelity scene reconstruction and 3D rendering with a more compact representation, and has gradually become a key technology in the 3D reconstruction field.
[0003] The inventors of this application discovered during their research that, due to the characteristics of 3DGS using a Gaussian ellipsoid to express the scene, during block processing, due to the influence of comprehensive factors such as inter-node sorting, intra-node sorting, and perspective changes, obvious visible cracks will be generated at the interfaces between nodes, and the appearance of cracks will seriously affect the rendering quality. Summary of the Invention
[0004] In view of the above problems, the embodiments of the present application provide a three-dimensional scene rendering method, device and readable computer storage medium to solve the above technical problems existing in the prior art.
[0005] According to one aspect of an embodiment of the present application, a three-dimensional scene rendering method is proposed, comprising: Dividing the three-dimensional scene to form a plurality of node units, wherein the node units include a plurality of Gaussian basis elements; Acquire a boundary region between each of the node units, and perform a disturbance process on the boundary region so that the boundary region presents an irregular state; The fragments corresponding to the Gaussian primitives within the node bounding box corresponding to the node unit are rendered by a fragment shader, and the fragments beyond the node bounding box are clipped.
[0006] Preferably, in some embodiments, obtaining the boundary area between the node units includes: determining boundary lines between the node elements; The boundary area is determined according to the preset disturbance range and the boundary line.
[0007] Preferably, in some embodiments, the perturbation process is performed on the boundary region to make the boundary region present an irregular state, including: The boundary area is randomly processed according to the preset disturbance range and the preset random function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state.
[0008] Preferably, in some embodiments, the perturbation process is performed on the boundary region to make the boundary region present an irregular state, including: The boundary area is randomly processed according to the preset disturbance range, the preset random function and the preset sine function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state.
[0009] Preferably, in some embodiments, after performing the perturbation process on the boundary area, the method further includes: Obtain the boundary area of each node unit after disturbance processing; Redundancy processing is performed on the Gaussian primitives in the boundary area.
[0010] Preferably, in some embodiments, performing redundancy processing on the Gaussian primitives in the boundary area includes: determining the number of node elements connected to the boundary region; Redundancy processing is performed on the Gaussian primitives in the boundary area according to the number.
[0011] Preferably, in some embodiments, after performing redundancy processing on the Gaussian primitives in the boundary area, the method further includes: Parameters of the Gaussian primitives after redundancy processing are adjusted so that the Gaussian primitives uniformly cover the boundary area.
[0012] Preferably, in some embodiments, after performing the perturbation process on the boundary area, the method further includes: The node bounding box corresponding to each node unit is updated according to the boundary area of each node unit after the disturbance processing.
[0013] According to another aspect of an embodiment of the present application, a three-dimensional scene rendering device is further provided, the device comprising: a processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least a program, and the program enables the processor to perform the operations of the three-dimensional scene rendering method described in the above embodiment.
[0014] According to another aspect of an embodiment of the present application, a computer-readable storage medium is also proposed, in which at least one program is stored. When the program runs on a three-dimensional scene rendering device, the three-dimensional scene rendering device performs the operations of the three-dimensional scene rendering method described in the above embodiment.
[0015] In summary, the embodiment of the present application performs scrambling processing on the boundary area of each node unit, converting the originally straight node boundary area into an uneven boundary with certain fluctuations, forming an interface partition area showing an irregular state. In this way, the cracks between the node units can be discretized, eliminating the cracks caused by the straight node boundary at a specific perspective, and reducing the impact of the cracks on the rendering effect at a specific perspective. At the same time, the embodiment of the present application also performs fragment clipping on the scrambled boundary area to ensure that there will be no Gaussian ellipsoid fragments rendered across nodes, thereby improving the rendering quality and visual effects. Block rendering improves the performance of 3D Gaussian splash rendering, reduces the requirements for rendering hardware such as memory, CPU, GPU, etc., and can help the implementation of 3D Gaussian splash applications in ultra-large scenes.
[0016] The above description is only an overview of the technical solutions of the embodiments of the present application. In order to more clearly understand the technical means of the embodiments of the present application, they can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the embodiments of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are only used to illustrate the embodiments and are not to be considered as limiting the present application. In addition, the same reference symbols are used to represent the same components throughout the drawings. In the drawings: Figure 1 A schematic diagram of the structure of a three-dimensional scene rendering device provided in an embodiment of the present application; Figure 2 A schematic diagram of a flow chart of a three-dimensional scene rendering method provided in an embodiment of the present application; Figure 3 A schematic diagram of a boundary area of a node unit provided in an embodiment of the present application; Figure 4 A schematic structural diagram of a three-dimensional scene rendering device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0018] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited to the embodiments set forth herein.
[0019] First, several common terms in 3DGS technology are introduced to facilitate understanding of the technical methods proposed in the embodiments of this application.
[0020] 3DGS technology is a method for 3D scene reconstruction and rendering. It uses point cloud and image data to reconstruct and render high-fidelity 3D scenes. 3DGS uses Gaussian ellipsoids as scene representation primitives, known as Gaussian basis units, and describes the relationships between Gaussian ellipsoids using Gaussian functions, enabling high-assurance reconstruction and rendering of 3D scenes. In open, large-scale spaces, the number of Gaussian basis units is enormous. Actual large scenes often contain tens of millions to billions of Gaussian basis units, making them impossible to render all at once and requiring layered and block-by-block rendering.
[0021] Gaussian primitives: Gaussian primitives are the basic units used in 3DGS technology to represent 3D scenes. In 3DGS, a Gaussian primitive typically refers to an ellipsoid described by a Gaussian function. These ellipsoids can be used to represent various geometric shapes and details in a scene. Specifically, Gaussian primitives use Gaussian functions to describe the relationships between ellipsoids, thereby achieving a compact representation of the scene. By rendering these Gaussian primitives in layers and blocks, memory, video memory, and the CPU / GPU can be significantly reduced, enabling efficient 3D scene reconstruction and rendering. This results in more efficient and detailed scene reconstruction.
[0022] Node: A 3D scene is divided into multiple spatial regions, each of which serves as a node. Common spatial partitioning methods include the nine-grid grid, quadtree, and octree. These methods recursively divide the space into smaller subregions, enabling block management of the scene. Each node can be rendered and operated independently and contains multiple Gaussian primitives. The amount of Gaussian primitive data contained in each node must be kept within a certain range to ensure rendering performance. The amount of data contained in a node is typically determined by the available memory, video memory, and CPU / GPU processing power.
[0023] Node Bounding Box: In 3DGS technology, a node bounding box is a relatively simple closed space that completely contains the set of points, objects, or groups of objects in a node unit. This closed space is usually a cube. The node bounding box is mainly used to determine the position and range of the node unit in space, ensuring that all elements within the node unit are within this cube.
[0024] The fragment shader is a key stage in the 3D graphics rendering pipeline on the GPU, primarily responsible for handling shading calculations for each pixel. During the 3D rendering process, the fragment shader is responsible for shading each fragment (pixel) generated during the rasterization phase, thereby determining the color of each pixel displayed on the screen. Each generated fragment is fed into the fragment shader for processing. The fragment shader is a programmable shader program that calculates the final color of each pixel based on the input fragment information.
[0025] Fragments are pixels generated after the rasterization stage in the 3D rendering process. In the rendering pipeline, the fragment shader receives vertex data from the geometry stage. Vertex data is processed by the vertex shader to generate basic primitives such as triangles. These primitives are converted into screen-space pixels, which are called fragments.
[0026] In 3DGS technology, to cope with extremely large data volumes, a common approach is to partition the space and load data on demand by block, reducing the pressure on memory, video memory, and the CPU / GPU. Typical solutions include the nine-square grid, quadtree, and octree. This partitioning strategy significantly reduces the total amount of data required for loading and rendering. However, due to the nature of 3DGS, which uses Gaussian ellipsoids to represent scenes, when node partitioning is used, visible cracks can form at the node interfaces due to factors such as inter-node ordering, intra-node ordering, and changes in viewing angle. These cracks can seriously affect rendering quality.
[0027] The inventors of this application discovered in their research that in order to solve the problem of obvious cracks at the interfaces between nodes when rendering nodes in blocks, full rendering can be used for scene rendering. However, the full rendering method requires all data of the entire scene to be rendered, which places very high demands on rendering hardware such as memory, CPU, and GPU. Moreover, when the scene to be rendered is very large, the rendering frame rate will drop significantly, or even be completely unable to render. In addition, dynamic merging of nodes at runtime can be used to merge all visible nodes that need to be rendered in the current frame into a whole for rendering. This method can effectively avoid the problem of cracks because it renders the whole after merging. However, this method dynamically merges nodes at runtime, and the resource consumption is also very large, which can cause freezes, frame drops, etc., seriously affecting the smoothness of runtime.
[0028] In view of this, in order to solve the above-mentioned technical problems, the embodiments of the present application propose a three-dimensional scene rendering method, device, equipment and computer storage medium. The embodiments of the present application process the boundary area between each node unit to divide the originally straight boundary area between nodes into an uneven boundary with a certain fluctuation, that is, to form an irregular boundary area, and when rendering the node, the fragments that exceed the node bounding box range are clipped in the fragment shader to ensure that there will be no Gaussian ellipsoid fragments rendered across nodes. In this way, since the cracks between the node boundary areas are disturbed, the influence of the cracks at a specific viewing angle caused by the straightness of the node unit boundaries during the 3DGS block rendering of large scenes is eliminated, thereby improving the rendering quality and visual effects, improving the performance of 3D Gaussian splash rendering, and reducing the requirements for rendering hardware such as memory, CPU, GPU, etc., which can help the implementation of 3D Gaussian splash applications for ultra-large scenes.
[0029] The three-dimensional scene rendering device proposed in the embodiment of the present application can be a desktop computer, a laptop computer, a tablet computer, a mobile device, etc., or it can be a mobile phone, smart glasses or other smart devices, which is not limited in the embodiment of the present application. Figure 1 A structural schematic diagram of a three-dimensional scene rendering device proposed in an embodiment of the present application is shown, which is used to execute the three-dimensional scene rendering method proposed in an embodiment of the present application.
[0030] like Figure 1 As shown, the three-dimensional scene rendering device may include: a processor 102 , a memory 106 , a communication interface 104 and a communication bus 108 .
[0031] The processor 102, memory 106 and communication interface 104 communicate with each other via a communication bus 108. The memory 106 is used to store at least one program 110, which enables the processor 102 to execute steps related to the three-dimensional scene rendering method proposed in the embodiment of the present application.
[0032] Specifically, the program 110 may include program code including computer-executable instructions.
[0033] Processor 102 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the drone direction determination device may be processors of the same type, such as one or more CPUs, or different types of processors, such as one or more CPUs and one or more ASICs.
[0034] The memory 106 is used to store the program 110. The memory 106 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0035] The program 110 can be specifically called by the processor 102 to enable the 3D scene rendering device to execute the 3D scene rendering method proposed in the embodiment of the present application. Figure 2 FIG. 1 shows a flow chart of a three-dimensional scene rendering method proposed in an embodiment of the present application, including: Step S100: Divide the three-dimensional scene into a plurality of node units, each node unit including a plurality of Gaussian basis elements; For a 3D scene to be rendered, a 3D scene rendering device, such as a desktop computer, laptop, or mobile device, divides the scene into multiple spatial regions. Each spatial region serves as a node unit, and each node unit contains multiple Gaussian primitives. The number of Gaussian primitives in a node unit must be kept within a certain range to ensure rendering performance. The amount of data in a node is usually determined by the memory, video memory, and the processing power of the CPU / GPU.
[0036] Common spatial region partitioning methods include the nine-square grid, quadtree, and octree. These methods recursively divide the space into smaller node units, thereby achieving block management of the scene. The node unit division criteria typically take into account factors such as geometric complexity, perspective changes, and rendering requirements.
[0037] Step S200: obtaining a boundary region between each of the node units, and performing a disturbance process on the boundary region to make the boundary region present an irregular state; The range of a node element includes its spatial location and the data range it contains. The ranges of adjacent node elements overlap. Based on the spatial partitioning method, the dividing line or interface between each node element and other node elements is defined, forming the boundary region between node elements. The boundary region between node elements is usually straight. Due to the combined influence of inter-node sorting, intra-node sorting, and perspective changes, cracks may appear at specific perspectives due to the straight boundary region between node elements.
[0038] In the embodiment of the present application, in order to better eliminate the impact of cracks, when dividing the 3DGS scene nodes, the originally straight boundary area between nodes is divided into non-straight boundaries with certain fluctuations, such as Figure 3 As shown, this will form an irregular boundary area, which makes the boundary line in an irregular state such as fluctuation, preventing the boundary line from being in a straight state.
[0039] In actual implementation, the three-dimensional scene rendering device determines the boundary area based on the preset disturbance range and the boundary line, wherein the irregular boundary area can be generated according to the preset disturbance range, and the disturbance range can be set to [-10cm, +10cm], that is, with the original straight boundary as the center, fluctuating between -10cm and +10cm.
[0040] Therein, in order to perform disturbance processing on the straight boundary region, multiple methods can be used.
[0041] In some embodiments, the boundary area can be randomly processed according to the preset disturbance range and the preset random function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state. When the boundary area is disturbed by the preset random function, the straight boundary line between the node units is first obtained, and a point is selected at a certain distance on the boundary line. For the selected point, an offset is randomly generated within the preset disturbance range, such as [-10cm, +10cm]. Each selected point is moved according to the random offset to form a new boundary line. By scrambling with a random function, the boundary line can form an irregular interface division, making the original straight dividing line irregular, thereby reducing the impact of cracks at a specific viewing angle.
[0042] In other embodiments, the boundary area can also be randomly processed according to the preset disturbance range, the preset random function and the preset sine function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state. When the boundary area is disturbed by the preset random function and the sine function, the straight boundary line between the node units is first obtained, and a point is selected at a certain distance on the boundary line. For the selected point, random disturbance and sinusoidal disturbance are introduced within the preset disturbance range, such as [-10cm, +10cm], wherein the frequency and amplitude of the sinusoidal disturbance can be adjusted according to specific needs. Each selected point is moved according to the generated offset to form a new boundary line. By scrambling with random functions and sine functions, the boundary line can form an irregular interface division, so that the original straight dividing line becomes irregular, thereby reducing the impact of cracks at a specific viewing angle.
[0043] In some other embodiments, random noise can be added to the boundary area according to a preset perturbation range to give it an irregular shape. This method is similar to random perturbation, but different types of noise functions can be used, such as Perlin noise and Simplex noise. The process of scrambling using a noise function is similar to the above process and will not be repeated here.
[0044] Step S300: Rendering fragments corresponding to each Gaussian basis within a node bounding box corresponding to the node unit by using a fragment shader, and clipping fragments beyond the node bounding box.
[0045] When rendering a node, the node bounding box is first passed to the GPU. In the fragment shader, fragments that exceed the node unit range are clipped to ensure that high-resolution primitives are not rendered across nodes. In the fragment shader, each point corresponds to a rendered pixel. In node A, fragments that exceed the bounding box of node A are clipped; in node B, fragments that exceed the bounding box of node B are clipped. Clipping means discarding the pixel point. The pixel point will not enter the subsequent process and will not be rendered.
[0046] In summary, the embodiment of the present application performs scrambling processing on the boundary area of each node unit, converting the originally straight node boundary area into an uneven boundary with certain fluctuations, forming an interface partition area showing an irregular state. In this way, the cracks between the node units can be discretized, eliminating the cracks caused by the straight node boundary at a specific perspective, and reducing the impact of the cracks on the rendering effect at a specific perspective. At the same time, the embodiment of the present application also performs fragment clipping on the scrambled boundary area to ensure that there will be no Gaussian ellipsoid fragments rendered across nodes, thereby improving the rendering quality and visual effects, improving the performance of 3D Gaussian splash rendering, and reducing the requirements for rendering hardware such as memory, CPU, GPU, etc., which can help the implementation of 3D Gaussian splash applications in ultra-large scenes.
[0047] Furthermore, the inventors of the present application discovered in their research that, during the rendering stage, when the fragments that exceed the node unit area are cropped, some data will be lost, and this loss of data will cause the rendered scene to have transparency defects. In order to compensate for the partial data loss caused by cropping and avoid affecting the rendering quality, in an embodiment of the present application, after the boundary area is disturbed, the boundary area of each node unit after the disturbance processing will be obtained first, and then the Gaussian primitives in the boundary area will be redundantly processed to reduce the data loss caused by fragment cropping during the rendering stage. Figure 3 As shown, in the boundary areas A and B, data loss will occur due to fragment clipping during the rendering stage. During rendering, problems such as transparency will exist in the boundary area. The embodiment of the present application proposes to replicate the Gaussian primitives in the boundary area redundantly. In this way, the amount of data in the area can be increased, and the occurrence of transparency and other problems can be avoided.
[0048] Furthermore, Figure 3 As shown in the figure, for different boundary areas, the degree of data loss caused by fragment clipping will be different. Figure 3 In region A, which is adjacent to two node units 1 and 2, fragment pruning occurs twice during rendering for Gaussian primitives within this boundary region. Region B, on the other hand, is adjacent to four node units, resulting in four fragment prunings within this boundary region. Therefore, data loss in regions A and B differs. If redundant replication is performed in the same manner, significant differences in data volume within the boundary region will occur, impacting rendering performance.
[0049] Based on this, before performing redundancy processing on the boundary area, the embodiment of the present application first determines the number of node units connected to the boundary area; and then performs redundancy processing on the Gaussian primitives in the boundary area according to the number.
[0050] Specifically, as in Figure 3 In the example, if the Gaussian base element P is in region A, since region A is adjacent to node unit 1 and node unit 2, two fragment clippings will be performed during the rendering phase. At this time, the Gaussian base element P can be redundant in two copies, that is, redundant copies are made for node unit 1 and node unit 2 respectively. If the Gaussian base element P is in region B, since region B is adjacent to node unit 1, node unit 2, node unit 3, and node unit 4, four fragment clippings will be performed during the rendering phase. At this time, the Gaussian base element P can be redundant in four copies, that is, redundant copies are made for node unit 1, node unit 2, node unit 3, and node unit 4 respectively. In this way, the number of redundant copies is determined according to the number of node units connected to the boundary area, and redundant processing can be performed more specifically for different boundary areas, thereby improving the effect of redundant processing.
[0051] Furthermore, since redundancy processing involves duplicating Gaussian primitives, after redundancy processing, although the number of Gaussian primitives increases, their distribution does not change. In order to better enable the redundant Gaussian primitives to evenly cover the boundary area and achieve a better rendering effect, the embodiments of the present application can also adjust the parameters of the Gaussian primitives to ensure that the redundant Gaussian primitives are more evenly distributed, can better cover the boundary area, and avoid transparency defects. During the rendering stage, the redundant Gaussian primitives are rendered together with the original Gaussian primitives. In this way, it is possible to ensure that the integrity and rendering quality of the scene are maintained while cropping the fragments.
[0052] Furthermore, the inventors of the present application also discovered in their research that when the boundary area of the node unit is disturbed, the data range contained in the node unit will change. In order to better render the node unit after the disturbance processing, the embodiment of the present application will update the node bounding box corresponding to each node unit according to the boundary area of each node unit after the disturbance processing, so that the node bounding box can be adaptively updated as the data range of the node unit changes.
[0053] Among them, the node bounding box is used to define the spatial range of the node unit, which helps to determine which nodes need to be loaded and rendered during rendering. Since the boundary area is scrambled in step S200, the boundary area of each node unit will change. Therefore, it is necessary to re-update the node bounding box corresponding to each node unit based on the boundary area of each node unit after the disturbance processing. When updating the node bounding box, the node bounding box can be updated with reference to the disturbance range preset during the scrambling process, or the actual data range of the node unit can be obtained to update the node bounding box, which is not limited here. In this way, the node bounding box can be updated as the node unit is updated, and better rendering effects can be achieved during the rendering stage.
[0054] According to another aspect of the embodiment of the present application, a three-dimensional scene rendering device is also proposed. Figure 4 As shown, the three-dimensional scene rendering device includes: Node division module: used to divide the three-dimensional scene into multiple node units, each of which includes multiple Gaussian basis elements; Boundary perturbation module: used for obtaining the boundary area between each of the node units, and performing perturbation processing on the boundary area to make the boundary area present an irregular state; Rendering module: used for rendering the fragments of each Gaussian primitive within the node bounding box corresponding to the node unit through a fragment shader, and cutting the fragments beyond the node bounding box.
[0055] Furthermore, the boundary perturbation module is further configured to determine a boundary line between the node units, and determine a boundary area according to a preset perturbation range and the boundary line.
[0056] Furthermore, the boundary perturbation module is further configured to perform random processing on the boundary area according to the preset perturbation range and a preset random function to generate a perturbed boundary area, wherein the perturbed boundary area presents an irregular state.
[0057] Furthermore, the boundary perturbation module is also used to perform random processing on the boundary area according to the preset perturbation range, the preset random function and the preset sine function to generate a perturbed boundary area, and the perturbed boundary area presents an irregular state.
[0058] Furthermore, the rendering module is further configured to obtain a boundary region of each node unit after the disturbance processing, and perform redundancy processing on the Gaussian basis elements in the boundary region.
[0059] Furthermore, the rendering module is further configured to determine the number of node units connected to the boundary area; and perform redundancy processing on the Gaussian primitives in the boundary area according to the number.
[0060] Furthermore, the rendering module is further configured to adjust parameters of the Gaussian primitives after redundant processing, so that the Gaussian primitives uniformly cover the boundary area.
[0061] Furthermore, the three-dimensional scene rendering device further includes a node bounding box updating module, and the node bounding box updating module is further configured to update the node bounding box corresponding to each node unit according to the boundary area of each node unit after the disturbance processing.
[0062] In summary, the three-dimensional scene rendering method, device and equipment proposed in the embodiment of the present application, by processing the boundary area between each node unit, divides the originally straight boundary area between nodes into an uneven boundary with a certain fluctuation, that is, forms an interface division area showing an irregular state, and when rendering the node, the fragments that exceed the node bounding box range are clipped in the fragment shader to ensure that there will be no Gaussian ellipsoid fragments rendered across nodes. In this way, the cracks between the node boundary areas are disturbed, eliminating the influence of cracks at specific viewing angles caused by the flatness of the node unit boundaries when rendering large scenes in 3DGS blocks, improving the rendering quality and visual effects, improving the performance of 3D Gaussian splash rendering, reducing the requirements for rendering hardware such as memory, CPU, GPU, etc., and can help the implementation of 3D Gaussian splash applications for ultra-large scenes. At the same time, by performing redundant processing on the boundary area after the disturbance processing, the redundant Gaussian primitives can better cover the boundary area to avoid transparency defects. During the rendering process, redundant Gaussian primitives are rendered together with the original Gaussian primitives, which also ensures that the integrity and rendering quality of the scene are maintained while the fragments are clipped.
[0063] An embodiment of the present application further provides a computer-readable storage medium, in which executable instructions are stored. When the executable instructions are executed on a three-dimensional scene rendering device, the three-dimensional scene rendering device executes the three-dimensional scene rendering method provided in any of the above embodiments.
[0064] An embodiment of the present application further provides a three-dimensional scene rendering program, which is used to execute the three-dimensional scene rendering method provided by the above embodiment.
[0065] The algorithm or demonstration provided here are not inherently relevant to any particular computer, virtual system or other equipment. Various general purpose systems can also be used together with the teachings based on this. According to the above description, it is obvious that the structure required for constructing this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages can be utilized to realize the content of the present application described here, and the above description of specific languages is for the purpose of disclosing the best mode of implementation of the present application.
[0066] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.
[0067] Similarly, it should be understood that in order to streamline the present application and assist in understanding one or more of the various aspects of the invention, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof.
[0068] Those skilled in the art will appreciate that the modules in the devices of the embodiments can be adaptively modified and installed in one or more devices different from the embodiments. The modules, units, or components in the embodiments can be combined into a single module, unit, or component, or they can be divided into multiple sub-modules, sub-units, or sub-components. All features disclosed in this specification (including the accompanying abstract and drawings), and all processes or units of any method or device disclosed therein, can be combined in any combination, unless at least some of such features and / or processes or units are mutually exclusive. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying abstract and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0069] It should be noted that the above embodiments are illustrative rather than limiting of the present invention, and that those skilled in the art may design alternative embodiments without departing from the scope of the present invention. The steps in the above embodiments, unless otherwise specified, should not be construed as limiting the order of execution.
Claims
1. A three-dimensional scene rendering method, characterized in that: include: Dividing the three-dimensional scene to form a plurality of node units, wherein the node units include a plurality of Gaussian basis elements; Acquire a boundary region between each of the node units, and perform a disturbance process on the boundary region so that the boundary region presents an irregular state; The fragments of each Gaussian primitive within the node bounding box corresponding to the node unit are rendered by a fragment shader, and the fragments beyond the node bounding box are clipped.
2. The method according to claim 1, characterized in that Obtaining the boundary area between each of the node units includes: determining boundary lines between the node elements; The boundary area is determined according to the preset disturbance range and the boundary line.
3. The method according to claim 2, characterized in that The performing a disturbance process on the boundary area so that the boundary area presents an irregular state includes: The boundary area is randomly processed according to the preset disturbance range and the preset random function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state.
4. The method according to claim 2, characterized in that The performing a disturbance process on the boundary area so that the boundary area presents an irregular state includes: The boundary area is randomly processed according to the preset disturbance range, the preset random function and the preset sine function to generate a disturbance-processed boundary area, and the disturbance-processed boundary area presents an irregular state.
5. The method according to claim 1, wherein After the boundary area is disturbed, the method further includes: Obtain the boundary area of each node unit after disturbance processing; Redundancy processing is performed on the Gaussian primitives in the boundary area.
6. The method according to claim 5, characterized in that The performing redundancy processing on the Gaussian primitives in the boundary area includes: determining the number of node elements connected to the boundary region; Redundancy processing is performed on the Gaussian primitives in the boundary area according to the number.
7. The method according to claim 5 or 6, characterized in that After performing redundancy processing on the Gaussian primitives in the boundary area, the method further includes: Parameters of the Gaussian primitives after redundancy processing are adjusted so that the Gaussian primitives uniformly cover the boundary area.
8. The method according to claim 1, characterized in that After the boundary area is disturbed, the method further includes: The node bounding box corresponding to each node unit is updated according to the boundary area of each node unit after the disturbance processing.
9. A three-dimensional scene rendering device, characterized in that: include: A processor, a memory, a communication interface, and a communication bus, wherein the processor, the memory, and the communication interface communicate with each other via the communication bus; The memory is used to store at least a program, and the program enables the processor to perform the operation of the three-dimensional scene rendering method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that The storage medium stores at least one program, and when the program is run on the three-dimensional scene rendering device, the three-dimensional scene rendering device performs the operation of the three-dimensional scene rendering method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Segmented rendering method based on three-dimensional Gaussian sputtering
CN119444954A
Large-scale scene multi-level-of-detail cloud rendering processing method and device based on 3DGS
CN120635271A