A 3D scene loading and rendering method for deep-sea 3D environment simulation
Deep-sea environment data is obtained from multiple data sources for gridding and texture mapping. Combined with lighting simulation and renderer settings, the rendering detail level is dynamically adjusted, solving the problem of inaccurate texture and lighting effects in deep-sea three-dimensional environment rendering, and achieving efficient and stable rendering effects.
Patent Information
- Application Number
- CN202510454872.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-11
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2045-04-11
AI Technical Summary
Existing technologies find it difficult to accurately simulate the texture and lighting effects of deep-sea environments, resulting in insufficient rendering quality and realism in deep-sea three-dimensional environment simulations.
Deep-sea environment data is obtained through multiple data sources, meshing and texture mapping are performed, lighting simulation and renderer settings are combined, the rendering detail level is dynamically adjusted, frustum culling and batch rendering strategies are used, and a quality assessment system is established.
It improves the efficiency and quality of deep-sea 3D environment rendering, ensures the stability and realism of the rendering results, reduces dependence on hardware resources, and can efficiently complete rendering tasks under limited resources.
Smart Images

Figure CN119991921B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of three-dimensional scene rendering, and in particular to a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction. Background Art
[0002] With the rapid advancement of computer graphics and virtual reality technology, rendering and simulation of the natural environment on which humans depend for survival has become a technical focus in the industry. Since the deep sea is rich in biological resources, mineral resources, etc., accurate understanding and simulation of the deep sea environment is of great significance for resource development and environmental protection. By deducing the deep sea three-dimensional environment and rendering the three-dimensional scene, an intuitive and realistic deep sea environment simulation can be provided, helping scientific researchers and engineers to better understand and analyze the deep sea environment, and providing strong technical support for deep sea exploration and resource development.
[0003] In the existing technology, the detail representation in the deep-sea environment requires high-precision texture and rendering effects. However, during texture mapping, the characteristics of lighting, refraction, reflection, etc. in the deep sea make it difficult to grasp the accuracy of texture and rendering effects, which can easily lead to visual unreality or distortion. Therefore, how to improve the accuracy of texture mapping and detail rendering to ensure the rendering quality and realism of deep-sea three-dimensional environment deduction is the problem we need to solve. To this end, a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction is proposed. Summary of the Invention
[0004] The purpose of the present invention is to provide a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction to solve the problems raised in the above background technology.
[0005] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0006] A method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment deduction comprises the following steps:
[0007] Step 1: Acquire and pre-process various types of data of the deep-sea environment, and then perform grid processing on the terrain and objects in the deep-sea environment;
[0008] Step 2: Create a deep-sea 3D scene based on the pre-processed deep-sea environment data, and perform equal segmentation of the scene to obtain several sub-scene blocks and obtain a block rendering sequence list;
[0009] Step 3: Texture mapping is performed on the deep-sea 3D scene using the block rendering sequence table. The prepared texture map is mapped to the 3D scene to ensure the accuracy and fit of the texture. The real lighting effect is simulated according to the lighting conditions of the deep-sea environment to ensure the accuracy and realism of the lighting.
[0010] Step 4: Select and adjust the renderer settings, then load the deep-sea 3D scene and render the nodes of each sub-scene block one by one;
[0011] Step 5: Establish a quality assessment system to conduct a comprehensive evaluation of the rendering results to ensure that the rendering quality and realism meet the expected requirements.
[0012] A further improvement of the technical solution of the present invention is that in step 1, the process of gridding the terrain and objects in the deep sea environment is as follows:
[0013] Utilize multiple data sources to obtain deep-sea environmental data, including public oceanographic databases, multi-beam sonar systems (for seafloor topography mapping), side-scan sonar (for seafloor topography feature analysis), LiDAR (Light Detection and Ranging), and satellite remote sensing.
[0014] Clean the acquired deep-sea environmental data to remove noise and outliers, calibrate the sensor data using standard data calibration methods to ensure data accuracy, and integrate data from different data sources to form a unified data set;
[0015] The deep-sea environment data including terrain and objects after preprocessing are gridded. For terrain gridding, the Delaunay triangulation algorithm is used to connect the terrain data points into a triangular mesh, and the resolution of the mesh is adjusted through the subdivision algorithm (Loop subdivision) to balance details and performance. For object gridding, a point cloud-based modeling method is used to generate a three-dimensional model of the object, and the object model is embedded in the terrain mesh through Boolean operations to ensure its natural interaction with the terrain.
[0016] A further improvement of the technical solution of the present invention is that in step 2, the process of obtaining the block rendering sequence table is as follows:
[0017] Import the pre-processed deep-sea environment data into the 3D modeling software to ensure data format compatibility, define the scene's coordinate system using the geographic coordinate system, and set the scene range and resolution;
[0018] Based on the preprocessed terrain data, a 3D terrain mesh is generated. The Kriging interpolation algorithm is used to convert discrete terrain data points into a continuous terrain surface. The terrain mesh is mapped with the preprocessed landform texture (texture acquired by side-scan sonar) to enhance the realism of the terrain. The preprocessed deep-sea object model is loaded into the scene, positioned and oriented according to the actual position and posture, and the object model is optimized by applying normal smoothing to improve rendering performance and visual effects.
[0019] Based on the size and object distribution of the deep-sea 3D scene, a strategy for evenly segmenting the scene was developed, ensuring that each segmented sub-scene block contained the same number of terrain meshes and object models. Using the segmentation tools provided by the 3D modeling software, the deep-sea 3D scene was evenly segmented into several sub-scene blocks. Each sub-scene block was numbered for ease of subsequent management and rendering.
[0020] For each segmented sub-scene block, based on the visibility of the sub-scene block, the Euclidean distance between the center point of the block and the current position of the user's perspective is calculated, and all sub-scene blocks are sorted from near to far by distance, thereby determining the rendering priority of each sub-scene block. The rendering priority and related information of each sub-scene block are organized into a block rendering sequence table, giving priority to rendering blocks closer to the observer to optimize rendering efficiency and visual experience. The rendering sequence table contains the sub-scene block number, rendering priority, and rendering parameter information;
[0021] Based on the observer's movement speed and direction changes, the weight and distance factor of the sub-scene block sorting are dynamically adjusted, and the block rendering sequence table is updated in real time. Combined with the sorting position of the sub-scene blocks, the observer's viewing direction and the load of the rendering hardware, the rendering detail level is dynamically calculated for each sub-scene block. Then, according to the order of the block rendering sequence table, multiple small rendering slices are aggregated into batch renderings, and the rendering queue is managed using a rendering scheduler to ensure that rendering tasks are executed efficiently according to priority.
[0022] A further improvement of the technical solution of the present invention is that the process of dynamically calculating the rendering detail level is:
[0023] Calculate the Euclidean distance between the observer and the center point of the sub-scene block, and calculate its minimum effective distance, and then use the logarithmic function combined with the distance weight coefficient to calculate the distance weight;
[0024] Calculate the angle between the observer's viewing angle and the normal direction of the sub-scene block, and use the logarithmic function combined with the viewing angle weight coefficient to calculate the viewing angle weight;
[0025] Get the current load of the rendering hardware and calculate the hardware load weight using a logarithmic function combined with the hardware load weight coefficient;
[0026] The final rendering level of detail is obtained by adding the distance weight, view weight, and hardware load weight and comparing it with the rendering level of detail range limited by the maximum rendering level of detail.
[0027] A further improvement of the technical solution of the present invention is that in step 3, the texture mapping process is:
[0028] Texture maps suitable for deep-sea environments are collected from multiple channels, including public ocean databases, multi-beam sonar systems, side-scan sonar, LiDAR, and satellite remote sensing. Based on the block rendering sequence table, different blocks in the deep-sea 3D scene are identified. Each block contains corresponding model and texture information for targeted texture mapping.
[0029] Use 3D modeling software to perform UV splitting on the model in the deep-sea 3D scene. Use UV splitting to unfold the surface of the 3D model into a 2D plane, and define texture coordinates for each object in the deep-sea 3D scene. Ensure that the texture coordinates after UV splitting correspond one-to-one with the model surface to avoid texture stretching or distortion;
[0030] Map the prepared texture map to the corresponding model surface, use texture mapping tools (Photoshop) to adjust and optimize the texture to ensure the accuracy and fit of the texture, and apply texture filtering technology (bilinear interpolation, trilinear interpolation, etc.) to improve the clarity of the texture mapping and reduce aliasing and moiré;
[0031] According to the lighting conditions of the deep-sea environment, an illumination model is selected and its parameters are set. During the rendering process, the illumination effect of each pixel is calculated based on the illumination model and illumination parameters. This includes calculating the distance from the light source to the pixel and the angle between the light and the pixel normal to determine the illumination intensity and color of the pixel. Illumination models include the Phong illumination model and the Cook-Torrance illumination model.
[0032] A further improvement of the technical solution of the present invention is that in step 4, the process of rendering each sub-scene block node is:
[0033] Based on the characteristics and rendering requirements of deep-sea 3D scenes, and in combination with the available hardware configuration, select the renderer required for deep-sea 3D scene rendering. These include CPU renderers (the scanline renderer included with 3ds Max) and GPU renderers (Redshift, OctaneRender, etc.). For deep-sea scenes that require high-quality rendering and complex lighting and shadow effects, GPU renderers can provide faster and more realistic rendering effects.
[0034] Adjust the renderer's global settings, including resolution, aspect ratio, and frame rate, based on the requirements of the deep-sea scene to ensure that the output format and color space meet the project requirements. Adjust the renderer's lighting settings, including light source type, position, color, and intensity parameters, as well as ambient light and shadow effects, based on the lighting conditions of the deep-sea environment. Adjust the renderer's material settings based on the material requirements of the deep-sea scene, setting the material's reflectivity, refractive index, and texture mapping parameters to simulate realistic underwater material effects.
[0035] Import the pre-processed deep-sea 3D scene data into the renderer, load the prepared texture map into the renderer, and associate it with the corresponding model to ensure that the texture map path is correct and matches the UV coordinates of the model;
[0036] According to the block rendering sequence table, organize the scene structure, assign the models to different sub-scene blocks, create nodes for each sub-scene block, and set the corresponding rendering order and priority;
[0037] Traverse the nodes of each sub-scene block in the order of the block rendering sequence list. For each node, check whether it is in the viewport. If so, render it.
[0038] Nodes outside the viewport are culled to reduce unnecessary rendering calculations and improve rendering efficiency. For nodes within the viewport, their corresponding model data is loaded, and node similarity is analyzed. The batch processing function of the renderer is used to merge multiple model nodes with high similarity into one batch for rendering to improve rendering performance.
[0039] Monitor the rendering progress, adjust the rendering settings or pause / resume rendering as needed. After the rendering is completed, save the rendering results, select different output formats (JPEG, PNG, EXR, etc.), and set the output path and file name.
[0040] A further improvement of the technical solution of the present invention is that the process of analyzing node similarity is:
[0041] Based on the camera's viewing angle and viewing distance, the six planes of the cone (left, right, top, bottom, near, and far) are analyzed in combination with the frustum culling technology. For each node, it is determined whether it is completely outside the frustum. If the node's bounding box does not intersect with the frustum, the node is culled. Nodes outside the frustum are then removed from the rendering queue to avoid unnecessary rendering calculations.
[0042] For the nodes in the viewport, load their corresponding model data, including vertex coordinates, normals, and texture coordinates, and check whether the data format meets the requirements of the renderer to ensure the integrity and correctness of the model data;
[0043] Calculate based on the model's geometry, texture map, and material parameters, analyze node similarity, set a similarity threshold, and group nodes with similarity above the threshold for batch rendering;
[0044] Use the batch processing function of the renderer to merge the data of model nodes with high similarity into a data structure, create a mapper and an actor, pass the merged data to the mapper, associate the mapper with the actor, and then add the actor to the renderer for batch rendering.
[0045] A further improvement of the technical solution of the present invention is that the calculation process of the node similarity is:
[0046] For node i and node j, extract the vertex coordinates of their geometric shapes respectively, calculate the Euclidean distance between each vertex, and sum and average them to obtain the geometric shape difference;
[0047] For node i and node j, extract the pixel values of their texture maps respectively, calculate the Euclidean distance between each pixel, and sum and average them to get the texture map difference;
[0048] For node i and node j, extract their material parameters respectively, calculate the absolute difference between each material parameter, and perform weighted summation to obtain the material parameter difference;
[0049] The final node similarity is calculated by adding the geometric shape difference, texture map difference and material parameter difference and taking the square root. The square root result plus 1 is used as the denominator.
[0050] A further improvement of the technical solution of the present invention is that in step 5, the process of comprehensively evaluating the rendering results is:
[0051] Based on the rendering requirements of the deep-sea environment, the evaluation indicators for rendering quality evaluation are determined, including image clarity, image realism, lighting effects, material texture, resource consumption, rendering efficiency, stability and compatibility;
[0052] Combined with historical data of deep-sea environment rendering, the baseline values of each evaluation indicator are determined, and a quality assessment system is established by integrating various evaluation indicators;
[0053] Assign corresponding weights to each evaluation indicator, calculate the difference between each evaluation indicator and its baseline value, and then comprehensively calculate the rendering quality evaluation coefficient, conduct a comprehensive evaluation of the rendering results, and analyze the trend of the rendering results;
[0054] Compare the calculated comprehensive evaluation coefficient with the expected target to determine whether the rendering quality meets the expected requirements. If the evaluation result does not meet the expected target, conduct an in-depth analysis of the rendering process to identify the problem and take appropriate improvement measures.
[0055] Based on the evaluation results and analysis, adjust the rendering parameters to improve the rendering quality and realism, and repeat the evaluation and optimization process until the rendering quality meets the expected requirements.
[0056] A further improvement of the technical solution of the present invention is that the calculation process of the rendering quality evaluation coefficient is:
[0057] For each evaluation metric , get its current value and baseline values ,For each evaluation indicator, calculate the relative deviation between its current value and the baseline value;
[0058] Add the squared weighted deviations of each indicator to calculate the sum of the squared weighted deviations, then take the square root of the sum of the squared weighted deviations, add 1 to the square root result as the denominator, and calculate the rendering quality evaluation coefficient;
[0059] According to the value of the rendering quality assessment coefficient, analyze the trend of the rendering results. If the rendering quality assessment coefficient is close to 1, it means that the rendering quality is good. If the rendering quality assessment coefficient is small, it is necessary to further analyze the deviation of specific indicators to find out the problem.
[0060] Due to the adoption of the above technical solution, the present invention has the following technical advancements compared to the prior art:
[0061] The present invention provides a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction. By adopting frustum culling technology and a batch rendering strategy, the rendering efficiency of deep-sea three-dimensional scenes is significantly improved. Not only does it increase the rendering speed, but it also reduces the dependence on hardware resources, allowing the rendering task to be completed efficiently even with limited resources. In addition, the strategy of dynamically adjusting the rendering detail level further balances detail and performance, ensuring that the optimal rendering effect can be provided under different observation distances and hardware loads.
[0062] The present invention provides a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction. Through a comprehensive evaluation system and dynamic optimization strategy, the stability and reliability of the rendering results are significantly improved. By establishing a quality evaluation system, the rendering results are monitored and analyzed in real time, and problems in the rendering process can be discovered and resolved in a timely manner. This not only improves the stability of the rendering results, but also ensures the reliability of the rendering quality. In addition, through multiple iterative optimizations and repeated evaluations, the rendering method can gradually approach the expected goal and ultimately generate high-quality rendering results. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments described in the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0064] Figure 1 Schematic diagram of the method flow of the present invention;
[0065] Figure 2 This is a schematic diagram of the workflow for rendering each sub-scene block node of the present invention;
[0066] Figure 3 Schematic diagram of the workflow for comprehensive evaluation of rendering results in the present invention. DETAILED DESCRIPTION
[0067] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.
[0068] Example 1, as Figure 1 As shown, the present invention provides a three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction, comprising the following steps:
[0069] Step 1: Acquire and preprocess various types of deep-sea environment data, and then grid the terrain and objects in the deep-sea environment. Use a variety of data sources to obtain deep-sea environment data, including public ocean databases, multi-beam sonar systems (for seabed topography mapping), side-scan sonar (for seabed landform feature analysis), laser radar (LiDAR), and satellite remote sensing to ensure data diversity and integrity. Clean the acquired deep-sea environment data to remove noise and outliers. Use standard data calibration methods to calibrate sensor data to ensure data accuracy. In addition, integrate data from different data sources to form a unified data set. Grid the preprocessed deep-sea environment data, including terrain and objects. For terrain gridding, use the Delaunay triangulation algorithm to connect terrain data points into a triangular mesh. Use the subdivision algorithm (Loop subdivision) to adjust the mesh resolution to balance detail and performance. For object gridding, use a point cloud-based modeling method to generate a 3D model of the object. Then, use Boolean operations to embed the object model into the terrain mesh to ensure its natural interaction with the terrain.
[0070] Step 2: Create a deep-sea 3D scene based on the pre-processed deep-sea environmental data, divide the scene evenly, obtain several sub-scene blocks, and obtain a block rendering sequence list. Import the pre-processed deep-sea environmental data into the 3D modeling software to ensure data format compatibility, and use the geographic coordinate system to define the coordinate system of the scene, set the scene range and resolution, generate a 3D terrain grid based on the pre-processed terrain data, use the Kriging interpolation algorithm to convert discrete terrain data points into a continuous terrain surface, map the terrain grid with the pre-processed landform texture (texture obtained by the side-scan sonar) to enhance the realism of the terrain, and load the pre-processed deep-sea object model into the scene, locate and orient it according to the actual position and posture, and apply the method Line smoothing is used to optimize object models to improve rendering performance and visual effects. According to the size and object distribution of the deep-sea 3D scene, a strategy for evenly segmenting the scene is formulated so that the segmented sub-scene blocks contain the same number of terrain grids and object models. The segmentation tool provided by the 3D modeling software is used to evenly segment the deep-sea 3D scene to obtain several sub-scene blocks, and each sub-scene block is numbered for subsequent management and rendering. For each segmented sub-scene block, based on the visibility of the sub-scene block, the Euclidean distance between the center point of the block and the current position of the user's perspective is calculated, and all sub-scene blocks are sorted from near to far by distance, thereby determining the rendering priority of each sub-scene block, and comparing the rendering priority of each sub-scene block with the corresponding The relevant information is sorted into a block rendering sequence table, and blocks closer to the observer are rendered first to optimize rendering efficiency and visual experience. The rendering sequence table contains the number, rendering priority and rendering parameter information of the sub-scene block. According to the observer's movement speed and direction change factors, the weight and distance factor of the sub-scene block sorting are dynamically adjusted, and the block rendering sequence table is updated in real time. In combination with the sorting position of the sub-scene block, the observer's viewing direction and the load of the rendering hardware, the rendering detail level is dynamically calculated for each sub-scene block, and then multiple small rendering slices are aggregated into batch renderings in the order of the block rendering sequence table. The rendering scheduler is used to manage the rendering queue to ensure that rendering tasks are executed efficiently according to priority. Among them, the observer's movement speed is Influence, multiple speed thresholds and multiple intervals are set for adjustment, namely low speed interval, medium speed interval and high speed interval, and the observer's movement speed is divided into different intervals. The low speed interval is 0-1m / s, the medium speed interval is 1-3m / s, and the high speed interval is >3m / s. When the observer moves faster, the human eye's perception of distant details decreases. At this time, it is necessary to appropriately lower the rendering priority of distant blocks and reduce unnecessary detail rendering, thereby improving the overall rendering performance. On the contrary, when the movement speed is slower, the observer has more time to pay attention to the details of the scene, and it is necessary to increase the rendering priority of distant blocks to provide richer visual information. In different speed intervals, the weight of the sub-scene block sorting is adjusted. In the high speed interval, the distance weight is increased.Lower the sorting priority of distant blocks. In low-speed intervals, reduce the distance weight and increase the sorting priority of distant blocks. Regarding the influence of the observer's direction change, the change of the observer's direction will change his or her visual focus area. When the direction changes greatly, the blocks originally at the edge of the field of view may quickly enter the center of the field of view, while the blocks originally in the center of the field of view may move out of the field of view. To ensure visual continuity and rendering efficiency, it is necessary to dynamically adjust the block sorting weight according to the direction change. By calculating the change angle of the observer's perspective per unit time, the rate of observer direction change is analyzed and calculated. When the direction change rate is high, increase the perspective weight to increase the sorting priority of blocks in the new field of view, so that blocks entering the field of view can be rendered quickly. When the direction change rate is low, reduce the perspective weight, so that block sorting is more dependent on distance and other factors.
[0071] The process of dynamically calculating the rendering detail level is:
[0072] Calculate the Euclidean distance between the observer and the center point of the sub-scene block, and calculate its distance to the minimum valid distance. Then use the logarithmic function combined with the distance weight coefficient to calculate the distance weight. Calculate the angle between the observer's viewing direction and the normal direction of the sub-scene block, and use the logarithmic function combined with the viewing weight coefficient to calculate the viewing weight. Obtain the current load of the rendering hardware, and use the logarithmic function combined with the hardware load weight coefficient to calculate the hardware load weight. Add the distance weight, viewing weight, and hardware load weight, and compare them with the rendering detail level range limited by the maximum rendering detail level to obtain the final rendering detail level.
[0073] The final rendering detail level is calculated as:
[0074] ;
[0075] Where, is the final rendering detail level, LOD is the rendering detail level, D is the Euclidean distance between the observer and the center point of the sub-scene block, is the minimum effective distance, used to avoid singularities in logarithmic calculations, is the angle between the viewer's viewing angle and the normal direction of the sub-scene block, L is the current load of the rendering hardware (ranging from 0 to 1, where 1 indicates full load), is the distance weight coefficient, is the viewing angle weight coefficient, is the hardware load weight coefficient, is the maximum rendering detail level, The range is ;
[0076] Step 3. Texture mapping of the deep-sea 3D scene is performed in combination with the block rendering sequence table. The prepared texture map is mapped to the 3D scene to ensure the accuracy and fit of the texture. According to the lighting conditions of the deep-sea environment, the real lighting effect is simulated to ensure the accuracy and realism of the lighting. Texture maps suitable for the deep-sea environment are collected from multiple channels such as public ocean databases, multi-beam sonar systems, side-scan sonars, laser radars (LiDAR) and satellite remote sensing. According to the block rendering sequence table, different blocks in the deep-sea 3D scene are determined. Each block contains corresponding model and texture information for targeted texture mapping. 3D modeling software is used to UV split the model in the deep-sea 3D scene. The surface of the 3D model is unfolded into a 2D plane using UV splitting, and texture coordinates are defined for each object in the deep-sea 3D scene. The texture coordinates after UV splitting correspond to the model surface one-to-one to avoid texture stretching or distortion. The prepared texture map is mapped to the corresponding model surface. Use texture mapping tools (Photoshop) to adjust and optimize textures to ensure accuracy and fit, and apply texture filtering techniques (bilinear interpolation, trilinear interpolation, etc.) to improve texture mapping clarity and reduce aliasing and moiré. Based on the lighting conditions of the deep-sea environment, select a lighting model and set its parameters. During the rendering process, calculate the lighting effect of each pixel based on the lighting model and lighting parameters. This includes calculating the distance from the light source to the pixel and the angle between the light and the pixel normal to determine the lighting intensity and color of the pixel. Lighting models include the Phong lighting model and the Cook-Torrance lighting model. The Phong lighting model is suitable for simulating specular reflection and diffuse reflection, while the Cook-Torrance lighting model is more suitable for simulating complex lighting effects, such as subsurface scattering. The lighting model parameters include light source position, light source color, light intensity, ambient light, diffuse reflection coefficient, and specular reflection coefficient.
[0077] Step 4: Select and adjust the renderer settings, then load the deep-sea 3D scene and render the nodes of each sub-scene block one by one;
[0078] Step 5: Establish a quality assessment system to conduct a comprehensive evaluation of the rendering results to ensure that the rendering quality and realism meet the expected requirements.
[0079] Example 2, as Figure 2 As shown, based on Example 1, the present invention provides a technical solution: Preferably, in step 4, the process of rendering each sub-scene block node is:
[0080] According to the characteristics and rendering requirements of the deep-sea 3D scene, combined with the available hardware configuration, select the renderer required for deep-sea 3D scene rendering, including CPU renderer (the scanline renderer that comes with 3ds Max) and GPU renderer (Redshift, OctaneRender, etc.). Among them, for deep-sea scenes that require high-quality rendering and complex lighting and shadow effects, GPU renderer can provide faster and more realistic rendering effects. According to the needs of the deep-sea scene, adjust the global settings of the renderer, including resolution, aspect ratio and frame rate, to ensure that the output format and color space meet the project requirements, and adjust the lighting settings of the renderer according to the lighting conditions of the deep-sea environment, including light source type, light source position, light source color, light intensity parameters, as well as ambient light and shadow effects. According to the material requirements of the deep-sea scene, adjust the material settings of the renderer, set the material's reflectivity, refractive index and texture map parameters to simulate real underwater material effects, import the pre-processed deep-sea 3D scene data into the renderer, and load the prepared texture map into the renderer, associate it with the corresponding model, and ensure the texture map The path is correct and matches the UV coordinates of the model. According to the block rendering sequence table, the scene structure is organized and the model is assigned to different sub-scene blocks. A node is created for each sub-scene block and the corresponding rendering order and priority are set. For each node, check whether it is in the viewport. If so, render it. For nodes outside the viewport, eliminate them to reduce unnecessary rendering calculations and improve rendering efficiency. For nodes in the viewport, load their corresponding model data and analyze the node similarity. Use the batch processing function of the renderer to merge multiple model nodes with high similarity into a batch for rendering to improve rendering performance. Monitor the rendering progress and adjust the rendering settings or pause / continue rendering as needed. After rendering is completed, save the rendering results, select different output formats (JPEG, PNG, EXR, etc.), and set the output path and file name.
[0081] The process of analyzing node similarity is:
[0082] According to the camera's viewing angle and viewing distance, the six planes of the cone (left, right, top, bottom, near, and far) are analyzed in combination with the frustum culling technology. For each node, it is determined whether it is completely outside the frustum. If the bounding box of the node does not intersect with the frustum, the node is culled, and the nodes outside the frustum are removed from the rendering queue to avoid unnecessary rendering calculations. For the nodes within the viewport, their corresponding model data, including vertex coordinates, normals, and texture coordinates, are loaded, and the data format is checked to see if it meets the requirements of the renderer to ensure the integrity and correctness of the model data. Calculations are performed based on the model's geometry, texture mapping, and material parameters, and node similarity is analyzed. A similarity threshold is set, and nodes with similarity above the threshold are grouped together for batch rendering. The batch processing function of the renderer is used to merge the data of model nodes with high similarity into a data structure, create a mapper and an actor, pass the merged data to the mapper, and associate the mapper with the actor, and then add the actor to the renderer for batch rendering.
[0083] The calculation process of node similarity is:
[0084] For node i and node j, extract the vertex coordinates of their geometric shapes respectively, calculate the Euclidean distance between each vertex, and sum and average them to obtain the geometric shape difference. For node i and node j, extract the pixel values of their texture maps respectively, calculate the Euclidean distance between each pixel, and sum and average them to obtain the texture map difference. For node i and node j, extract their material parameters respectively, calculate the absolute difference between each material parameter, and perform weighted summation to obtain the material parameter difference. Add the geometric shape difference, texture map difference and material parameter difference, take the square root, and then add 1 to the square root result as the denominator to calculate the final node similarity.
[0085] The expression of node similarity is:
[0086] ;
[0087] ;
[0088] ;
[0089] ;
[0090] Where, is the similarity between node i and node j, ranging from 0 to 1. The closer the value is to 1, the more similar the two nodes are. is the difference in geometric shapes, which indicates the degree of difference between the geometric shapes of nodes i and j. and are the coordinates of the u-th vertex of node i and node j respectively, N is the number of vertices, is the difference in texture mapping, which indicates the degree of difference between the texture mapping of node i and node j. and are the y-th texture pixel values of node i and node j respectively, M is the number of texture pixels, is the difference in material parameters, indicating the degree of difference between the material parameters of node i and node j. and are the lth material parameter values of node i and node j respectively, is the weight coefficient used to adjust the importance of different material parameters, K is the number of material parameters, Represents the Euclidean distance (L2 norm), which is used to calculate the distance between two vectors. 、 、 All are zero time, =1, indicating that nodes i and j are completely similar. When the difference increases, Approaching zero, the more similar the geometry, texture mapping and material parameters of nodes i and j are, 、 、 The smaller, the The larger it is, the higher the similarity is.
[0091] Example 3, as Figure 3 As shown, based on Examples 1-2, the present invention provides a technical solution: Preferably, in step 5, the process of comprehensively evaluating the rendering results is:
[0092] Based on the rendering requirements of the deep-sea environment, the evaluation indicators for rendering quality evaluation are determined, namely image clarity, image realism, light and shadow effects, material texture, resource consumption, rendering efficiency, stability and compatibility. Among them, image clarity measures the detail performance and anti-aliasing effect of the rendered image. Image realism evaluates the similarity between the rendered image and the real deep-sea environment, including color reproduction, object proportion and shape. Light and shadow effects evaluate the simulation effect of the light source, such as the propagation, reflection, refraction and naturalness of shadows. Material texture determines whether the material of the rendered object surface is realistic, such as the softness of seaweed and the roughness of rocks. Resource consumption measures the usage of computing resources (such as CPU, GPU, and memory) during the rendering process. Rendering efficiency evaluates the rendering speed, that is, the time required to render a frame. Stability determines whether the rendering process is stable and whether it is prone to crashes or errors. Compatibility evaluates the compatibility of the rendering system in different hardware and software environments. Combined with historical data on deep-sea environment rendering, the baseline value of each evaluation indicator is determined. A quality assessment system is established by integrating various evaluation indicators. Image clarity is determined by comparing historical rendered images to an acceptable resolution and anti-aliasing level. Image authenticity is evaluated by expert review. Determine a benchmark for similarity to the real deep-sea environment. For light and shadow effects, determine a benchmark for natural light and shadow effects by analyzing the light and shadow performance in historical renderings. For material texture, determine a benchmark for material texture by comparing real materials and rendered materials. For resource consumption, determine a reasonable resource consumption range by monitoring the resource usage of historical rendering processes. For rendering efficiency, determine an acceptable rendering time range by measuring historical rendering speeds. For stability, determine a stability benchmark by analyzing crashes or errors in historical rendering processes. For compatibility, determine a compatibility benchmark by testing the performance of the rendering system in different environments. Assign corresponding weights to each evaluation metric and calculate the difference between each evaluation metric and its baseline value. Then, comprehensively calculate the rendering quality evaluation coefficient, conduct a comprehensive evaluation of the rendering results, analyze the trends of the rendering results, and compare the calculated comprehensive evaluation coefficient with the expected target to determine whether the rendering quality meets the expected requirements. If the evaluation results do not meet the expected targets, conduct an in-depth analysis of the rendering process to identify the problems and take corresponding improvement measures. Based on the evaluation results and analysis, adjust the rendering parameters to improve the rendering quality and realism. Repeat the evaluation and optimization process until the rendering quality meets the expected requirements.
[0093] The calculation process of the rendering quality evaluation coefficient is:
[0094] For each evaluation metric , get its current value and baseline values For each evaluation indicator, calculate the relative deviation between its current value and the baseline value, add the weighted deviation squares of each indicator, calculate the weighted square sum of the deviations, and then take the square root of the weighted square sum of the deviations. Add 1 to the square root result as the denominator to calculate the rendering quality evaluation coefficient. According to the value of the rendering quality evaluation coefficient, analyze the trend of the rendering results. If the rendering quality evaluation coefficient is close to 1, it means that the rendering quality is good. If the rendering quality evaluation coefficient is small, it is necessary to further analyze the deviation of the specific indicator to find out the problem.
[0095] The expression of the rendering quality evaluation coefficient is:
[0096] ;
[0097] Where Q is the rendering quality evaluation coefficient, which is used to comprehensively evaluate the quality of the rendering results, n is the total number of evaluation indicators, is the weight of the kth evaluation indicator, indicating the importance of this indicator in the comprehensive evaluation. is the current value of the k-th evaluation indicator, The baseline value of the kth evaluation indicator is the standard value set according to the expected goal. The value range of Q is between 0 and 1. When all evaluation indicators Equal to their baseline values When Q=1, it means that the rendering result fully meets the expected goal. When the deviation between the index value and the baseline value increases, Q approaches 0. When each evaluation index The closer to its baseline value When Q is closer to 1, the rendering quality is higher. Conversely, when the deviation between the index value and the baseline value increases, the smaller Q is, the lower the rendering quality is.
[0098] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A three-dimensional scene loading and rendering method for deep-sea three-dimensional environment deduction, characterized in that: The following steps are involved: Step 1: Acquire and pre-process various types of data of the deep-sea environment, and then perform grid processing on the terrain and objects in the deep-sea environment; Step 2: Create a deep-sea 3D scene based on the pre-processed deep-sea environment data, and perform equal segmentation of the scene to obtain several sub-scene blocks and obtain a block rendering sequence list; Step 3: Texture mapping is performed on the deep-sea 3D scene in combination with the block rendering sequence table. The prepared texture map is mapped to the 3D scene, and the real lighting effect is simulated according to the lighting conditions of the deep-sea environment. Step 4: Select and adjust the renderer settings, then load the deep-sea 3D scene and render the nodes of each sub-scene block one by one. The process of rendering each sub-scene block node is as follows: According to the characteristics and rendering requirements of the deep-sea 3D scene, combined with the available hardware configuration, select the renderer required for deep-sea 3D scene rendering, including CPU renderer and GPU renderer; Adjust the renderer's global settings, including resolution, aspect ratio, and frame rate, based on the requirements of the deep-sea scene. Adjust the renderer's lighting settings, including light source type, position, color, and intensity parameters, as well as ambient light and shadow effects, based on the lighting conditions of the deep-sea environment. Adjust the renderer's material settings, including reflectivity, refractive index, and texture mapping parameters, based on the material requirements of the deep-sea scene to simulate realistic underwater material effects. Import the pre-processed deep-sea 3D scene data into the renderer, load the prepared texture map into the renderer, associate it with the corresponding model, and match it with the UV coordinates of the model; According to the block rendering sequence table, organize the scene structure, assign the models to different sub-scene blocks, create nodes for each sub-scene block, and set the corresponding rendering order and priority; Traverse the nodes of each sub-scene block in the order of the block rendering sequence list. For each node, check whether it is in the viewport. If so, render it. For nodes outside the viewport, culling is performed. For nodes within the viewport, their corresponding model data is loaded and the node similarity is analyzed. The batch processing function of the renderer is used to merge multiple model nodes with high similarity into one batch for rendering. Monitor the rendering progress, adjust the rendering settings or pause / resume rendering as needed. After the rendering is completed, save the rendering results, select different output formats, and set the output path and file name; The process of analyzing node similarity is as follows: Based on the camera's viewing angle and viewing distance, the six planes of the cone are analyzed in combination with the frustum culling technology. For each node, it is determined whether it is completely outside the frustum. If the node's bounding box does not intersect with the frustum, the node is culled, and the nodes outside the frustum are removed from the rendering queue. For the nodes in the viewport, load their corresponding model data, including vertex coordinates, normals, and texture coordinates, and check whether the data format meets the requirements of the renderer; Calculate based on the model's geometry, texture map and material parameters, analyze node similarity, set a similarity threshold, and group nodes with similarity above the threshold; Use the batch processing function of the renderer to merge the data of model nodes with high similarity into a data structure, create a mapper and actors, pass the merged data to the mapper, and associate the mapper with the actor. Then, add the actor to the renderer for batch rendering; Step 5: Establish a quality assessment system to conduct a comprehensive evaluation of the rendering results; The calculation process of the node similarity is: For node i and node j, extract the vertex coordinates of their geometric shapes respectively, calculate the Euclidean distance between each vertex, and sum and average them to obtain the geometric shape difference; For node i and node j, extract the pixel values of their texture maps respectively, calculate the Euclidean distance between each pixel, and sum and average them to get the texture map difference; For node i and node j, extract their material parameters respectively, calculate the absolute difference between each material parameter, and perform weighted summation to obtain the material parameter difference; The final node similarity is calculated by adding the geometric shape difference, texture map difference and material parameter difference and taking the square root. The square root result plus 1 is used as the denominator.
2. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 1, characterized in that: In step 1, the process of gridding the terrain and objects in the deep sea environment is as follows: Utilize multiple data sources to obtain deep-sea environmental data, including public oceanographic databases, multibeam sonar systems, side-scan sonar, lidar, and satellite remote sensing; Clean the acquired deep-sea environmental data and integrate data from different data sources to form a unified data set; The deep-sea environment data including terrain and objects after preprocessing are gridded. For terrain gridding, the Delaunay triangulation algorithm is used to connect the terrain data points into a triangular mesh, and the resolution of the mesh is adjusted by the subdivision algorithm. For object gridding, a point cloud-based modeling method is used to generate a three-dimensional model of the object, and the object model is embedded in the terrain mesh through Boolean operations.
3. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 2, characterized in that: In step 2, the process of obtaining the block rendering sequence table is as follows: Import the pre-processed deep-sea environment data into the 3D modeling software, and use the geographic coordinate system to define the coordinate system of the scene, and set the scene range and resolution; Based on the preprocessed terrain data, a 3D terrain mesh is generated. The Kriging interpolation algorithm is used to convert discrete terrain data points into a continuous terrain surface. The terrain mesh is mapped with the preprocessed landform texture. The preprocessed deep-sea object model is loaded into the scene, positioned and oriented according to the actual position and posture, and the object model is optimized by applying normal smoothing. Based on the size and object distribution of the deep-sea 3D scene, a strategy for evenly segmenting the scene was developed, ensuring that each segmented sub-scene block contained the same number of terrain meshes and object models. Using the segmentation tools provided by the 3D modeling software, the deep-sea 3D scene was evenly segmented into several sub-scene blocks, each of which was numbered. For each segmented sub-scene block, based on the visibility of the sub-scene block, the Euclidean distance between the center point of the block and the current position of the user's perspective is calculated, and all sub-scene blocks are sorted from near to far by distance, thereby determining the rendering priority of each sub-scene block. The rendering priority and related information of each sub-scene block are organized into a block rendering sequence table, and blocks closer to the observer are rendered first. The rendering sequence table contains the sub-scene block number, rendering priority, and rendering parameter information; Based on the observer's movement speed and direction changes, the weight and distance factor of the sub-scene block sorting are dynamically adjusted, and the block rendering sequence table is updated in real time. Combined with the sorting position of the sub-scene blocks, the observer's viewing direction and the load of the rendering hardware, the rendering detail level is dynamically calculated for each sub-scene block. Then, according to the order of the block rendering sequence table, multiple small rendering slices are aggregated into batch renderings, and the rendering queue is managed using a rendering scheduler.
4. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 3, characterized in that: The process of dynamically calculating the rendering detail level is as follows: Calculate the Euclidean distance between the observer and the center point of the sub-scene block, and calculate its minimum effective distance, and then use the logarithmic function combined with the distance weight coefficient to calculate the distance weight; Calculate the angle between the observer's viewing angle and the normal direction of the sub-scene block, and use the logarithmic function combined with the viewing angle weight coefficient to calculate the viewing angle weight; Get the current load of the rendering hardware and calculate the hardware load weight using a logarithmic function combined with the hardware load weight coefficient; The final rendering level of detail is obtained by adding the distance weight, view weight, and hardware load weight and comparing it with the rendering level of detail range limited by the maximum rendering level of detail.
5. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 4, characterized in that: In step 3, the texture mapping process is as follows: Texture maps suitable for deep-sea environments are collected from public ocean databases, multi-beam sonar systems, side-scan sonar, lidar, and satellite remote sensing. Based on the block rendering sequence table, different blocks in the deep-sea 3D scene are determined. Each block contains corresponding model and texture information. Use 3D modeling software to perform UV splitting on the model in the deep-sea 3D scene. Use UV splitting to unfold the surface of the 3D model into a 2D plane, and define texture coordinates for each object in the deep-sea 3D scene to ensure that the texture coordinates after UV splitting correspond one-to-one with the model surface. Map the prepared texture map to the corresponding model surface, use texture mapping tools to adjust and optimize the texture, and apply texture filtering technology to improve the clarity of texture mapping; According to the lighting conditions of the deep-sea environment, the lighting model is selected and the parameters of the lighting model are set. During the rendering process, the lighting effect of each pixel is calculated according to the lighting model and lighting parameters, including the distance from the light source to the pixel and the angle between the light and the pixel normal to determine the lighting intensity and color of the pixel.
6. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 5, characterized in that: In step 5, the process of comprehensively evaluating the rendering results is as follows: Based on the rendering requirements of the deep-sea environment, the evaluation indicators for rendering quality evaluation are determined, namely image clarity, image realism, lighting and shadow effects, material texture, resource consumption, rendering efficiency, stability and compatibility; Combined with historical data of deep-sea environment rendering, the baseline values of each evaluation indicator are determined, and a quality assessment system is established by integrating various evaluation indicators; Assign corresponding weights to each evaluation indicator, calculate the difference between each evaluation indicator and its baseline value, and then comprehensively calculate the rendering quality evaluation coefficient, conduct a comprehensive evaluation of the rendering results, and analyze the trend of the rendering results; Compare the calculated comprehensive evaluation coefficient with the expected target to determine whether the rendering quality meets the expected requirements. If the evaluation result does not meet the expected target, conduct an in-depth analysis of the rendering process to identify the problem and take appropriate improvement measures. Based on the evaluation results and analysis, adjust the rendering parameters and repeat the evaluation and optimization process until the rendering quality meets the expected requirements.
7. The method for loading and rendering a three-dimensional scene for deep-sea three-dimensional environment simulation according to claim 6, characterized in that: The calculation process of the rendering quality evaluation coefficient is: For each evaluation metric , get its current value and baseline values ,For each evaluation indicator, calculate the relative deviation between its current value and the baseline value; Add the squared weighted deviations of each indicator to calculate the sum of the squared weighted deviations, then take the square root of the sum of the squared weighted deviations, add 1 to the square root result as the denominator, and calculate the rendering quality evaluation coefficient; According to the value of the rendering quality assessment coefficient, analyze the trend of the rendering results. If the rendering quality assessment coefficient is close to 1, it means that the rendering quality is good. If the rendering quality assessment coefficient is small, it is necessary to further analyze the deviation of specific indicators to find out the problem.
Citation Information
Patent Citations
Mass data object plotting method based on three-dimensional grain hardware acceleration
CN101286225A
Three-dimensional graph rendering method and equipment based on graph theory
CN119540430A
Deep sea three-dimensional environment deduction simulation analysis system based on big data
CN119722962A