A virtual reality interactive scene processing method
Through the 3D diffusion model and linked list management method, the problems of high construction cost and insufficient realism in traditional 3D scenes are solved, efficient rendering and material lighting consistency of VR scenes are achieved, and the rendering efficiency of VR scenes is optimized.
Patent Information
- Application Number
- CN202510645989.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-20
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2045-05-20
AI Technical Summary
Traditional 3D scenes have high cost, long cycles, insufficient realism, and existing methods are difficult to meet the high-precision needs of VR scenes. Traditional rendering resource management lacks flexibility, which may destroy key details.
The initial 3D scene is generated using the 3D diffusion model, and the memory pool is used to manage the memory pool to allocate memory blocks for the material rendering and lighting rendering scripts. The rendering logic is separated through independent scripts, and the VR scene is optimized in combination with the smoothing processing strategy of area perception.
It improves the color consistency and rendering efficiency of VR scenes, adapts to the real-time interaction requirements of materials and lighting, and optimizes the retention of key details.
Smart Images

Figure CN120182463B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of 3D scene processing, and in particular relates to a virtual reality interactive scene processing method. Background Art
[0002] The core of virtual reality (VR) technology lies in creating immersive, high-fidelity three-dimensional scenes. However, traditional 3D scene construction relies on manual modeling or complex specialized equipment acquisition, resulting in high costs, lengthy production cycles, and a lack of realism. With the advancement of deep learning and computer graphics, generating 3D scenes from 2D images has become a research hotspot. Real-time rendering and post-processing optimization are crucial for ensuring smooth VR interactions. 3D scenes can exhibit geometric noise (such as uneven meshes), texture seams, and lighting artifacts, directly impacting the immersive VR experience. Traditional processing methods, including geometric optimization algorithms like Laplacian smoothing and anisotropic filtering, can result in excessive loss of detail. Furthermore, 2D-to-3D conversions are prone to geometric distortion and texture blurring, making them inadequate for the high-precision requirements of VR scenes. Furthermore, traditional rendering resource management lacks flexibility, potentially destroying critical scene details. Summary of the Invention
[0003] In order to solve the above problems, the present invention proposes a virtual reality interactive scene processing method.
[0004] The technical solution of the present invention is: a virtual reality interactive scene processing method comprises the following steps:
[0005] S1. Collect several 2D scene images, process them using a 3D diffusion model, and generate an initial 3D scene.
[0006] S2. Use the linked list to call the material rendering script and lighting rendering script of the initial 3D scene to complete the material rendering and lighting rendering of the initial 3D scene to obtain the latest 3D scene;
[0007] S3. Smoothing several to-be-processed areas of the latest 3D scene to obtain a final 3D scene.
[0008] Furthermore, S2 includes the following sub-steps:
[0009] S21. Divide the memory pool into several memory blocks and extract free memory blocks;
[0010] S22. Generate a complete linked list for a number of free memory blocks;
[0011] S23, obtaining the material rendering script and lighting rendering script of the initial 3D scene;
[0012] S24. Allocate free memory blocks for the material rendering script and the lighting rendering script using a linked list;
[0013] S25. Call the material rendering script and the lighting rendering script after allocating the free memory block, perform material rendering and lighting rendering on the initial 3D scene, and obtain the latest 3D scene.
[0014] The beneficial effect of the above further scheme is: in the present invention, the present invention takes into account that on the one hand, some scripts frequently create and destroy objects, and if a shared memory pool is used, it may cause fragmentation and affect performance; on the other hand, material rendering scripts and lighting rendering scripts are image processing scripts, which require large blocks of continuous memory. If they share a pool with other scripts, they may be blocked due to insufficient memory. Therefore, the present invention divides the memory pool into several memory blocks, extracts free memory blocks, and generates a linked list, which can avoid frequent calls to memory fragments. By separating the rendering logic through independent scripts, the lighting script can adjust parameters such as shadow intensity and ambient occlusion range without modifying the underlying rendering pipeline, and supports dynamic material / lighting effect switching.
[0015] Material and lighting rendering scripts are core components of achieving realistic rendering in computer graphics. They work together to calculate the interaction between object surfaces and light. Material rendering scripts define surface properties and control how light interacts with surfaces. Light rendering scripts simulate light propagation and calculate the color of an object's surface as affected by light.
[0016] Furthermore, S22 includes the following sub-steps:
[0017] S221, calculating an index value for each free memory block;
[0018] S222: Use the free memory block corresponding to the maximum index value as the head of the initial linked list, and determine the pointer of the head of the initial linked list;
[0019] S223, determining the next free memory block to be inserted into the linked list according to the pointer at the head of the initial linked list;
[0020] S224, determining the next free memory block to be inserted into the linked list according to the pointer of the current free memory block inserted into the linked list;
[0021] S225. Repeat S224 until all free memory blocks are inserted into the initial linked list to generate a complete linked list.
[0022] Furthermore, in S221, the index value α of the i-th free memory block i The calculation formula is: ; Where T1 represents the filling size of the first free memory block, T2 represents the filling size of the second free memory block, T i-1Indicates the filling size of the i-1th free memory block, T i Indicates the filling size of the i-th free memory block, T i+1 Indicates the filling size of the i+1th free memory block, T i+2 Indicates the filling size of the i+2th free memory block, T I represents the filling size of the I-th free memory block, max(·) represents the maximum value function, and I represents the number of free memory blocks.
[0023] The padding size is the number of bytes to be filled, which is usually an integer multiple of the cache line size; the padding bytes can avoid cache line filling due to false sharing.
[0024] Furthermore, S3 includes the following sub-steps:
[0025] S31, obtaining several areas to be processed of the latest 3D scene, wherein the areas to be processed include texture joints, illumination faults, and LOD switching flickering areas;
[0026] S32, performing smoothing processing on several areas to be processed;
[0027] S33, creating an object pool dictionary for the latest 3D scene after smoothing;
[0028] S34. When the latest 3D scene needs to load resources, determine whether the loaded resources are in the object pool dictionary. If so, clean the object pool dictionary to obtain the final 3D scene. Otherwise, the latest 3D scene after smoothing is used as the final 3D scene.
[0029] Texture seams: UV coordinate deviations cause pixel misalignment (for example, a 1-pixel deviation in a 1024x1024 texture is a 0.1% error, but the human eye can perceive a 0.01% misalignment at 4K resolution).
[0030] Lighting breakup: Normal maps or lightmaps are misaligned, causing highlights / shadows to appear abrupt at the boundaries (e.g., highlights on metal surfaces suddenly disappear at seams).
[0031] LOD switching flickers: LOD specifically stands for Level of Detail, which means detail level jitter. Models of different levels of detail (LOD) will "bounce" due to the difference in the number of vertices when switching (for example, 1000 vertices of LOD0 suddenly become 500 vertices of LOD1, resulting in edge jitter).
[0032] An object pool is a collection of a certain number of already created objects and is a container for reusable objects. When you need to create an object in a 3D scene, you call the object pool interface to obtain the object.
[0033] Furthermore, S32 includes the following sub-steps:
[0034] S321, cutting the area to be processed into a plurality of tiles;
[0035] S322, calculating the mixing weight value of each tile;
[0036] S323: Perform smooth transition processing on the area to be processed according to the mixing weights of each tile.
[0037] Furthermore, in S33, the calculation formula of the tile mixing weight value w is: ; Where c represents a constant, g represents the pixel value of the tile, It represents the mean pixel value of the area to be processed where the tile is located, and e represents the exponent.
[0038] Furthermore, in S323 , the average pixel value of the four neighboring pixel points around the tile is multiplied by the blending weight value to obtain the final pixel value of the tile, thereby completing the smooth transition process.
[0039] The beneficial effects of the present invention are: the present invention uses a linked list to call the material rendering script and lighting rendering script of the initial 3D scene, completes the material rendering and lighting rendering of the initial 3D scene, and improves the color consistency of the initial 3D scene; adapts to the real-time interaction requirements of materials and lighting in VR scenes; in addition, the present invention also designs a region-aware smoothing processing strategy to optimize the rendering efficiency of VR scenes while retaining key details. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 Flowchart of the method for processing virtual reality interaction scenes. DETAILED DESCRIPTION
[0041] The embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0042] like Figure 1 As shown, the present invention provides a virtual reality interactive scene processing method, comprising the following steps:
[0043] S1. Collect several 2D scene images, process them using a 3D diffusion model, and generate an initial 3D scene.
[0044] S2. Use the linked list to call the material rendering script and lighting rendering script of the initial 3D scene to complete the material rendering and lighting rendering of the initial 3D scene to obtain the latest 3D scene;
[0045] S3. Smoothing the several to-be-processed areas of the latest 3D scene to obtain a final 3D scene.
[0046] In this embodiment of the present invention, S2 includes the following sub-steps:
[0047] S21. Divide the memory pool into several memory blocks and extract free memory blocks;
[0048] S22. Generate a complete linked list for a number of free memory blocks;
[0049] S23, obtaining the material rendering script and lighting rendering script of the initial 3D scene;
[0050] S24. Allocate free memory blocks for the material rendering script and the lighting rendering script using a linked list;
[0051] S25. Call the material rendering script and the lighting rendering script after allocating the free memory block, perform material rendering and lighting rendering on the initial 3D scene, and obtain the latest 3D scene.
[0052] In the present invention, the present invention takes into account that on the one hand, some scripts frequently create and destroy objects, and if a shared memory pool is used, it may cause fragmentation and affect performance; on the other hand, material rendering scripts and lighting rendering scripts are image processing scripts, which require large blocks of continuous memory. If they share a pool with other scripts, they may be blocked due to insufficient memory. Therefore, the present invention divides the memory pool into several memory blocks, extracts free memory blocks, and generates a linked list, which can avoid frequent calls to memory fragments. By separating the rendering logic through independent scripts, the lighting script can adjust parameters such as shadow intensity and ambient occlusion range without modifying the underlying rendering pipeline, and supports dynamic material / lighting effect switching.
[0053] Material and lighting rendering scripts are core components of achieving realistic rendering in computer graphics. They work together to calculate the interaction between object surfaces and light. Material rendering scripts define surface properties and control how light interacts with surfaces. Light rendering scripts simulate light propagation and calculate the color of an object's surface as affected by light.
[0054] In this embodiment of the present invention, S22 includes the following sub-steps:
[0055] S221, calculating an index value for each free memory block;
[0056] S222: Use the free memory block corresponding to the maximum index value as the head of the initial linked list, and determine the pointer of the head of the initial linked list;
[0057] S223, determining the next free memory block to be inserted into the linked list according to the pointer at the head of the initial linked list;
[0058] S224, determining the next free memory block to be inserted into the linked list according to the pointer of the current free memory block inserted into the linked list;
[0059] S225. Repeat S224 until all free memory blocks are inserted into the initial linked list to generate a complete linked list.
[0060] In the embodiment of the present invention, in S221, the index value α of the i-th free memory block i The calculation formula is: ; Where T1 represents the filling size of the first free memory block, T2 represents the filling size of the second free memory block, T i-1 Indicates the filling size of the i-1th free memory block, T i Indicates the filling size of the i-th free memory block, T i+1 Indicates the filling size of the i+1th free memory block, T i+2 Indicates the filling size of the i+2th free memory block, T I represents the filling size of the I-th free memory block, max(·) represents the maximum value function, and I represents the number of free memory blocks.
[0061] The padding size is the number of bytes to be filled, which is usually an integer multiple of the cache line size; the padding bytes can avoid cache line filling due to false sharing.
[0062] In this embodiment of the present invention, S3 includes the following sub-steps:
[0063] S31, obtaining several areas to be processed of the latest 3D scene, wherein the areas to be processed include texture joints, illumination faults, and LOD switching flickering areas;
[0064] S32, performing smoothing processing on several areas to be processed;
[0065] S33, creating an object pool dictionary for the latest 3D scene after smoothing;
[0066] S34. When the latest 3D scene needs to load resources, determine whether the loaded resources are in the object pool dictionary. If so, clean the object pool dictionary to obtain the final 3D scene. Otherwise, the latest 3D scene after smoothing is used as the final 3D scene.
[0067] Texture seams: UV coordinate deviations cause pixel misalignment (for example, a 1-pixel deviation in a 1024x1024 texture is a 0.1% error, but the human eye can perceive a 0.01% misalignment at 4K resolution).
[0068] Lighting breakup: Normal maps or lightmaps are misaligned, causing highlights / shadows to appear abrupt at the boundaries (e.g., highlights on metal surfaces suddenly disappear at seams).
[0069] LOD switching flickers: LOD specifically stands for Level of Detail, which means detail level jitter. Models of different levels of detail (LOD) will "bounce" due to the difference in the number of vertices when switching (for example, 1000 vertices of LOD0 suddenly become 500 vertices of LOD1, resulting in edge jitter).
[0070] An object pool is a collection of a certain number of already created objects and is a container for reusable objects. When you need to create an object in a 3D scene, you call the object pool interface to obtain the object.
[0071] In this embodiment of the present invention, S32 includes the following sub-steps:
[0072] S321, cutting the area to be processed into a plurality of tiles;
[0073] S322, calculating the mixing weight value of each tile;
[0074] S323: Perform smooth transition processing on the area to be processed according to the mixing weights of each tile.
[0075] In the embodiment of the present invention, in S33, the calculation formula of the tile mixing weight value w is: ; Where c represents a constant, g represents the pixel value of the tile, It represents the mean pixel value of the area to be processed where the tile is located, and e represents the exponent.
[0076] In the embodiment of the present invention, in S323, the average pixel value of the four neighboring pixel points around the tile is multiplied by the mixing weight value to obtain the final pixel value of the tile, thereby completing the smooth transition process.
[0077] Those skilled in the art will appreciate that the embodiments described herein are intended to help readers understand the principles of the present invention, and it should be understood that the scope of protection of the present invention is not limited to such specific descriptions and embodiments. Those skilled in the art can make various other specific variations and combinations based on the technical teachings disclosed in the present invention without departing from the essence of the present invention, and such variations and combinations are still within the scope of protection of the present invention.
Claims
1. A virtual reality interactive scene processing method, characterized in that: The following steps are involved: S1. Collect several 2D scene images, process them using a 3D diffusion model, and generate an initial 3D scene. S2. Use the linked list to call the material rendering script and lighting rendering script of the initial 3D scene to complete the material rendering and lighting rendering of the initial 3D scene to obtain the latest 3D scene; S3, smoothing several to-be-processed areas of the latest 3D scene to obtain a final 3D scene; The S2 includes the following sub-steps: S21. Divide the memory pool into several memory blocks and extract free memory blocks; S22. Generate a complete linked list for a number of free memory blocks; S23, obtaining the material rendering script and lighting rendering script of the initial 3D scene; S24. Allocate free memory blocks for the material rendering script and the lighting rendering script using a linked list; S25. Call the material rendering script and the lighting rendering script after allocating the free memory block, perform material rendering and lighting rendering on the initial 3D scene, and obtain the latest 3D scene.
2. The virtual reality interactive scene processing method according to claim 1, characterized in that: The S22 includes the following sub-steps: S221, calculating an index value for each free memory block; S222: Use the free memory block corresponding to the maximum index value as the head of the initial linked list, and determine the pointer of the head of the initial linked list; S223, determining the next free memory block to be inserted into the linked list according to the pointer at the head of the initial linked list; S224, determining the next free memory block to be inserted into the linked list according to the pointer of the current free memory block inserted into the linked list; S225. Repeat S224 until all free memory blocks are inserted into the initial linked list to generate a complete linked list.
3. The virtual reality interactive scene processing method according to claim 2, characterized in that: In the above S221, the index value α of the i-th free memory block i The calculation formula is: ; Where T1 represents the filling size of the first free memory block, T2 represents the filling size of the second free memory block, T i-1 Indicates the filling size of the i-1th free memory block, T i Indicates the filling size of the i-th free memory block, T i+1 Indicates the filling size of the i+1th free memory block, T i+2 Indicates the filling size of the i+2th free memory block, T I represents the filling size of the I-th free memory block, max(·) represents the maximum value function, and I represents the number of free memory blocks.
4. The virtual reality interactive scene processing method according to claim 1, characterized in that: The S3 includes the following sub-steps: S31, obtaining several areas to be processed of the latest 3D scene, wherein the areas to be processed include texture joints, illumination faults, and LOD switching flickering areas; S32, performing smoothing processing on several areas to be processed; S33, creating an object pool dictionary for the latest 3D scene after smoothing; S34. When the latest 3D scene needs to load resources, determine whether the loaded resources are in the object pool dictionary. If so, clean the object pool dictionary to obtain the final 3D scene. Otherwise, the latest 3D scene after smoothing is used as the final 3D scene.
5. The virtual reality interactive scene processing method according to claim 4, characterized in that: The S32 includes the following sub-steps: S321, cutting the area to be processed into a plurality of tiles; S322, calculating the mixing weight value of each tile; S323: Perform smooth transition processing on the area to be processed according to the mixing weights of each tile.
6. The virtual reality interactive scene processing method according to claim 5, characterized in that: In the above S33, the calculation formula of the tile mixing weight value w is: ; Where c represents a constant, g represents the pixel value of the tile, It represents the mean pixel value of the area to be processed where the tile is located, and e represents the exponent.
7. The virtual reality interactive scene processing method according to claim 5, characterized in that: In the above-mentioned S323, the average pixel value of the four neighboring pixel points around the tile is multiplied by the mixing weight value to obtain the final pixel value of the tile, thereby completing the smooth transition process.
Citation Information
Patent Citations
Apparatus and method for command stream optimization and enhancement
CN111465966A
Rendering method and device, equipment and storage medium
CN119091026A