Geological attribute grid body rendering method and device, electronic equipment and storage medium
By constructing a hollow model shell, merging geological body mesh surfaces, and using high-precision textures, combined with an octree storage structure and multi-threaded lookup, the problems of high computational load and high memory consumption in rendering geological attribute meshes are solved, achieving efficient rendering and detailed rendering effects.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA PETROLEUM & CHEMICAL CORP
- Filing Date
- 2025-01-02
- Publication Date
- 2026-07-03
AI Technical Summary
Traditional geological attribute grid rendering methods are computationally complex and memory-intensive, making it difficult to achieve real-time rendering, resulting in poor rendering effects and an inability to accurately represent geological attribute details.
By constructing a hollow model shell, performing attribute mapping, and merging geological body mesh surfaces with similar attributes, high-precision mapping is used, combined with an octree storage structure and multi-threaded search technology to reduce rendering computation and memory usage.
It significantly reduces rendering time and memory consumption, improves rendering efficiency, and ensures that the texture details and attribute information of geological bodies are preserved, making it suitable for real-time visualization needs in geological exploration and scientific research.
Smart Images

Figure CN122336112A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of geological modeling technology, and in particular to a method, apparatus, electronic device and storage medium for rendering geological attribute grids. Background Technology
[0002] With the development of geological exploration technology, the acquisition of large-scale geological data has become increasingly common. This data typically exists in the form of geological attribute meshes, containing a large number of nodes and cells. Traditional rendering methods, due to their high computational complexity and large memory consumption, struggle to meet the demands of real-time rendering, severely impacting the efficiency of geological research and resource exploration. Existing technologies suffer from the following problems when processing and rendering large-scale geological attribute meshes: high computational load, making real-time rendering difficult; high memory consumption, leading to system performance degradation; and poor rendering results, failing to accurately represent the details of geological attributes. Summary of the Invention
[0003] The purpose of this invention is to provide at least one method, apparatus, electronic device, and storage medium for rendering geological attribute grids, which can at least solve the problems of large computational load and high memory consumption in model rendering, leading to decreased system performance and poor rendering effect. It can at least reduce the amount of data to be rendered, reduce the computational load of rendering, reduce memory occupation, improve rendering efficiency, and make the rendering effect better.
[0004] To address the aforementioned technical problems, at least one embodiment of this application provides a method for rendering geological attribute grid volumes, comprising:
[0005] Obtain the geometric outer surface parameters;
[0006] Based on the aforementioned geometric outer surface parameters, a hollow model shell is constructed;
[0007] Obtain the coordinates of the hollow model shell, and perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model;
[0008] The texture model is analyzed to determine the geological body mesh on the texture model. Faces of the geological body mesh with similar attributes on the texture model are merged to obtain a low-precision model.
[0009] The low-precision model is rendered to obtain a high-precision texture model.
[0010] In one embodiment, the geometrical outer surface parameters include geometrical outer surface vertex position parameters;
[0011] The steps for obtaining the geometrical outer surface parameters include:
[0012] Obtain mesh boundaries, sub-layer position parameters, and preset cutting planes;
[0013] The geometric outer surface parameters are determined based on the mesh boundary, the sub-layer position parameters, and the preset cutting surface.
[0014] In one embodiment, the step of constructing the hollow model shell based on the geometric outer surface parameters includes:
[0015] Based on the aforementioned geometric outer surface parameters, a prototype model shell is constructed;
[0016] Based on the coordinates of the prototype model shell, determine the internal vertices of the prototype model shell, and delete the internal vertices;
[0017] Based on the geometric outer surface parameters of the prototype model shell after deleting the internal vertices, generate the outer surface coordinates;
[0018] Based on the coordinates of the outer surface, the hollow model shell is constructed.
[0019] In one embodiment, the step of determining the internal vertices of the prototype model shell based on its coordinates and deleting the internal vertices includes:
[0020] Based on the coordinates of the prototype model shell, determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell;
[0021] Delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
[0022] In one embodiment, the steps of obtaining the coordinates of the hollow model shell and performing attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model include:
[0023] Obtain the coordinates of the hollow model shell;
[0024] Obtain a geological attribute image and obtain the coordinates of the geological attribute image;
[0025] Based on the coordinates of the hollow model shell, the attributes at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell are obtained, and the floating-point values of the attributes are written to the pixels corresponding to the coordinates of the hollow model shell to obtain the texture model.
[0026] In one embodiment, the steps of parsing the texture model, determining the geological body mesh on the texture model, and merging the faces of the geological body mesh with similar attributes on the texture model to obtain a low-precision model include:
[0027] Analyze the texture model to determine the geological body mesh on the texture model;
[0028] The surfaces of adjacent geological body meshes on the texture model with undulation less than a preset undulation threshold or shape similarity greater than a preset similarity threshold are merged to obtain a low-precision model.
[0029] In one embodiment, after the step of rendering the low-precision model to obtain a high-precision texture model, the method further includes:
[0030] Obtain the original mesh data of the high-precision texture model;
[0031] Using the original grid data as the last leaf node of the octree, construct an octree storage structure;
[0032] The original mesh data of the high-precision texture model is stored based on the octree storage structure.
[0033] At least one embodiment of this application also provides a geological property grid rendering apparatus, comprising:
[0034] The geometric outer surface parameter acquisition module is used to acquire geometric outer surface parameters;
[0035] A hollow model shell construction module is used to construct a hollow model shell based on the geometric outer surface parameters.
[0036] The texture model construction module is used to obtain the coordinates of the hollow model shell, and to perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the texture model;
[0037] The low-precision model acquisition module is used to parse the texture model, determine the geological body mesh on the texture model, and merge the faces of the geological body mesh with similar attributes on the texture model to obtain the low-precision model.
[0038] The rendering module is used to render the low-precision model to obtain a high-precision texture model.
[0039] At least one embodiment of this application also provides an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described geological attribute grid rendering method.
[0040] At least one embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described geological attribute grid rendering method.
[0041] The geological attribute mesh rendering method, apparatus, electronic device, and storage medium provided in the embodiments of this application merge the faces of geological body meshes with similar attributes on the model, which can effectively reduce the number of geometric shapes such as triangles, thereby simplifying the model, reducing the amount of rendering data, reducing the amount of rendering computation, reducing memory occupation, improving rendering efficiency, and making the rendering effect better. Furthermore, since the attribute map uses high-precision attributes for mapping, it can effectively ensure that the texture details and attribute information of the geological body are preserved, avoiding the impact on the geological attribute details. Attached Figure Description
[0042] One or more embodiments are illustrated by way of example with reference to the accompanying drawings, and these illustrative descriptions do not constitute a limitation on the embodiments.
[0043] Figure 1A This is a flowchart illustrating a geological attribute grid rendering method in one embodiment;
[0044] Figure 1B This is a flowchart illustrating the geological attribute grid rendering method in another embodiment;
[0045] Figure 2 This is a rendering of a high-quality attribute map created using the real-time rendering and lighting capabilities of the UE in one embodiment.
[0046] Figure 3 This is an example of using the UE's material editor to set appropriate material properties for high-precision mapping in one embodiment;
[0047] Figure 4 This is an example of using multithreading to perform data retrieval;
[0048] Figure 5 This is a schematic diagram of the structure of an electronic device provided in another embodiment of this application. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the various embodiments of this application will be described in detail below with reference to the accompanying drawings. However, those skilled in the art will understand that many technical details have been provided in the various embodiments of this application to help readers better understand this application. However, the technical solutions claimed in this application can be implemented even without these technical details and various changes and modifications based on the following embodiments. The division of the various embodiments below is for the convenience of description and should not constitute any limitation on the specific implementation of this application. The various embodiments can be combined with and referenced by each other without contradiction.
[0050] Example 1:
[0051] The geological attribute grid rendering method of this embodiment can be applied to electronic devices with communication, computing, and data storage capabilities. Its specific process can be as follows: Figure 1A As shown, it includes:
[0052] Step 110: Obtain the geometric outer surface parameters.
[0053] In this embodiment, the geometric outer surface parameter is used to define the outer surface of the model. Specifically, the geometric outer surface parameter includes the position parameters of the vertices of the geometric outer surface.
[0054] Step 120: Construct a hollow model shell based on the geometric outer surface parameters.
[0055] In this embodiment, a hollow model shell with a hollow interior is constructed using geometric outer surface parameters. The hollow model shell only includes the outer surface and the vertices of the outer surface, and there are no vertices inside the hollow model shell.
[0056] Step 130: Obtain the coordinates of the hollow model shell, and perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model.
[0057] In this embodiment, the positions of various points on the hollow model shell are obtained, thus acquiring the coordinates of each point. Pixel values are then written to each point of the hollow model shell, thereby completing the attribute mapping of the hollow model shell and obtaining the textured model. After writing the pixel values, the model can be initially rendered. In this embodiment, UE5's real-time rendering and lighting functions can be used to further adjust and optimize the materials. The initial real-time rendering allows the effects of changes to be seen immediately during the editing process without waiting for the rendering process to complete, which can greatly improve development efficiency.
[0058] Step 140: Analyze the texture model, determine the geological body mesh on the texture model, and merge the faces of the geological body mesh with similar attributes on the texture model to obtain a low-precision model.
[0059] In this embodiment, high-precision texture mapping can be used to apply attribute mapping to the hollow model shell. This effectively ensures that the texture details and attribute information of the geological body are preserved, avoiding any impact on the geological attribute details. Furthermore, to reduce rendering computation, this embodiment merges the faces of the geological body meshes with similar attributes. This effectively reduces the number of geometric shapes such as triangles, thereby simplifying the model, reducing the amount of rendering data and computation, and ultimately helping to reduce the rendering load and improve performance.
[0060] Step 150: Render the low-precision model to obtain a high-precision texture model.
[0061] In this embodiment, since high-precision attribute maps are still used for the textures, the amount of information is not reduced. However, by merging the faces of the geological body mesh, the rendering load is reduced. In this way, when rendering low-precision models, the rendering efficiency can be effectively improved, and a high-precision texture map model in which the texture details and attribute information of the geological body are preserved can be obtained.
[0062] In the above embodiments, merging the faces of geological body meshes with similar attributes on the model effectively reduces the number of geometric shapes such as triangles, thereby simplifying the model, reducing the amount of rendering data, the amount of rendering computation, the memory usage, and improving rendering efficiency and rendering effect. Furthermore, because the attribute mapping uses high-precision attributes, it effectively ensures that the texture details and attribute information of the geological bodies are preserved, avoiding the impact on geological attribute details. Experimental results show that this method significantly reduces rendering time and memory consumption while maintaining rendering effect, making it suitable for real-time visualization needs in fields such as geological exploration, resource management, and scientific research.
[0063] In one embodiment, the geometric outer surface parameters include geometric outer surface vertex position parameters; the step of obtaining the geometric outer surface parameters includes: obtaining the mesh boundary, sub-layer position parameters and preset cutting plane; and determining the geometric outer surface parameters based on the mesh boundary, the sub-layer position parameters and the preset cutting plane.
[0064] In this embodiment, the determination of the model's outer geometric surface is based on mesh boundaries, layer position parameters, and cutting planes. Therefore, in this embodiment, by obtaining the mesh boundaries, layer position parameters, and preset cutting planes, the geometric outer surface parameters can be determined, thereby determining the positions of the model's geometric outer surface vertices, and subsequently, a hollow model shell can be constructed based on this. In some embodiments, the layer position parameters and cutting planes can be selected or specified by the user.
[0065] In addition, the geometric outer surface parameters include preset cutting planes. Since the model construction only calculates the outer geometric surface after cutting and calculates high-resolution textures but uses low-precision geometric surfaces, the rendering efficiency of large-scale geological attribute meshes is greatly improved.
[0066] In one embodiment, the step of constructing a hollow model shell based on the geometric outer surface parameters includes: constructing a prototype model shell based on the geometric outer surface parameters; determining the internal vertices of the prototype model shell based on the coordinates of the prototype model shell, and deleting the internal vertices; generating outer surface coordinates based on the geometric outer surface parameters of the prototype model shell with the internal vertices deleted; and constructing the hollow model shell based on the outer surface coordinates.
[0067] In this embodiment, the positions of the vertices on the geometric outer surface of the model are determined using mesh boundaries, layer position parameters, and preset cutting planes, thus constructing a preliminary prototype model shell. Subsequently, based on the preliminarily constructed prototype model shell, vertices located inside the shell are located and deleted. Thus, the final generated model will not contain internal vertices; all vertices except those on the outer surface are deleted, and no internal faces are constructed. This greatly simplifies the model's structure, further reducing the model's data size and rendering computation. It is worth noting that since internal vertices are not involved in displaying the attribute maps of the outer surface, reducing internal vertices reduces rendering computation without affecting texture accuracy, thus ensuring that the accuracy of high-precision textured models remains unaffected.
[0068] In this embodiment, after deleting the internal vertices, the outer surface coordinates are generated, also known as the outer surface UV coordinates. The specific process is as follows: determine the UV coordinates in the up-down direction, where the X coordinate of vertex UV is equal to the I coordinate of the grid to which the vertex belongs, and the Y coordinate of vertex UV is equal to the J coordinate of the grid to which it belongs; determine the UV coordinates in the left-right direction, where the X coordinate of vertex UV is equal to the I coordinate of the grid to which the vertex belongs, and the Y coordinate of vertex UV is equal to the K coordinate of the grid to which it belongs; determine the UV coordinates in the front-back direction, where the X coordinate of vertex UV is equal to the J coordinate of the grid to which the vertex belongs, and the Y coordinate of vertex UV is equal to the K coordinate of the grid to which it belongs.
[0069] In one embodiment, the step of determining the internal vertices of the prototype model shell based on its coordinates and deleting the internal vertices includes:
[0070] Based on the coordinates of the prototype model shell, determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell; delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
[0071] In this embodiment, after constructing the initial prototype model shell, not only are the internal vertices of the model deleted, but the number of fixed points on the external geometric surface is also reduced, thereby reducing the number of fixed points on the outer surface of the model, further simplifying the structure of the model, thereby further reducing the amount of model data, and further reducing the amount of rendering computation.
[0072] In one embodiment, the steps of obtaining the coordinates of the hollow model shell and performing attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain a textured model include: obtaining the coordinates of the hollow model shell; obtaining a geological attribute image and obtaining the coordinates of the geological attribute image; obtaining the attribute at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell based on the coordinates of the hollow model shell, and writing the floating-point value of the attribute to the pixel corresponding to the coordinates of the hollow model shell to obtain the textured model.
[0073] In this embodiment, the coordinates of the hollow model shell are obtained, and the attributes at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell are used as floating-point values and written into the pixels of the coordinates of the hollow model shell, thereby constructing a texture model.
[0074] Specifically, the process is as follows:
[0075] a) Create an up-direction texture
[0076] i. Set texture resolution to I*J
[0077] ii. Take the attribute at the same position as the K value of the top sub-layer according to the I and J coordinates and write it as a floating point to the pixel;
[0078] b) Construct the down-direction map
[0079] i. Set texture resolution to I*J
[0080] ii. Take the attribute at the same position as the K value of the lower layer according to the I and J coordinates and write it as a floating point to the pixel;
[0081] c) Construct the up-direction texture
[0082] i. Set texture resolution to I*J
[0083] ii. Take the attribute at the same position as the K value of the top sub-layer according to the I and J coordinates and write it as a floating point to the pixel;
[0084] d) Construct a left-side texture
[0085] i. Set the texture resolution to 1*K
[0086] ii. The texture in column I and row K corresponds to the coordinates of attribute data I and K. The coordinate of J is determined by the coordinate of the grid in column I and row K of the left outer contour. The floating-point values of I, J, and K positions are taken from the attribute body and written to the pixel.
[0087] e) Construct the right-side texture
[0088] i. Set the texture resolution to 1*K
[0089] ii. The texture in column I and row K corresponds to the coordinates of attribute data I and K. The coordinate of J is determined by the coordinate of the grid in column I and row K of the right outer contour. The floating-point values of I, J, and K positions are taken from the attribute body and written to the pixel.
[0090] f) Construct the forward orientation map
[0091] i. Set the texture resolution to J*K
[0092] ii. The texture in column J and row K corresponds to the attribute data J and K coordinates. The I coordinate is determined by the I coordinate of the grid in column J and row K of the front outer contour. The floating-point values of I, J, and K positions are taken from the attribute body and written to the pixel.
[0093] g) Construct the orientation map afterward.
[0094] i. Set the texture resolution to J*K
[0095] ii. The texture in column J and row K corresponds to the coordinates of attribute data J and K. The I coordinate is determined by the I coordinate of the grid in column J and row K of the back outer contour. The floating-point values of I, J, and K positions are taken from the attribute body and written to the pixel.
[0096] In one embodiment, the step of parsing the texture model, determining the geological body mesh on the texture model, and merging the faces of the geological body mesh with similar attributes on the texture model to obtain a low-precision model includes: parsing the texture model, determining the geological body mesh on the texture model; merging the faces of adjacent geological body meshes on the texture model whose undulation is less than a preset undulation threshold or whose shape similarity is greater than a preset similarity threshold to obtain a low-precision model.
[0097] In this embodiment, the faces of the geological body mesh with similar attributes refer to faces with small undulations or similar shapes, and these faces with small undulations or similar shapes are adjacent faces, which is beneficial for merging. Therefore, an undulation degree less than a preset undulation degree threshold indicates that the undulations between adjacent faces are small, and a shape similarity degree greater than a preset similarity threshold indicates that the shapes of adjacent faces are similar. Therefore, the faces of the geological body mesh that are adjacent and have an undulation degree less than the preset undulation degree threshold or a shape similarity degree greater than the preset similarity threshold on the texture model are merged to obtain a low-precision model. It is worth mentioning that for geological body meshes, the undulations between most meshes are not large, and similar faces can be merged with almost no impact on the geometry, further reducing the number of geometric triangles. However, the texture still uses a high-precision attribute texture, so the amount of information is not reduced, but the rendering load and computational burden are reduced.
[0098] In one embodiment, after the step of rendering the low-precision model to obtain a high-precision texture model, the method further includes: obtaining the original mesh data of the high-precision texture model; constructing an octree storage structure using the original mesh data as the last leaf node of the octree; and storing the original mesh data of the high-precision texture model based on the octree storage structure.
[0099] In this embodiment, an octree structure is used to store the original mesh data of the high-precision texture model. Specifically, the original mesh data is used as the last leaf node of the octree. Mesh elements in the front / back, top / bottom, and left / right directions are merged in pairs, except at the edges. A maximum of eight meshes are merged into one mesh, which becomes the parent node mesh. This process is repeated multiple times until the set minimum partition size is reached. It's worth noting that an octree is a commonly used tree structure for data in three-dimensional space. It recursively divides three-dimensional space into eight equal-sized subspaces (i.e., eight "child nodes") until a set minimum partition size is reached or a certain termination condition is met. Each child node represents a subspace and may contain data points within that subspace or references to other child nodes.
[0100] Storing the original mesh data of a high-precision texture model using an octree structure can effectively improve storage efficiency and facilitate subsequent searches, thereby improving the accuracy of data retrieval. Furthermore, the octree storage structure allows for multi-threaded searches, further enhancing data retrieval efficiency.
[0101] Example 2:
[0102] This embodiment provides a specific example:
[0103] In this embodiment, the geological attribute grid volume rendering method includes the following steps: constructing a hollow model shell, reconstructing attribute maps, high-precision maps, and low-precision models, storing data in a tree-structured hierarchical format, performing multi-threaded searches, and finally rendering the ultra-large-scale grid data volume. For a detailed process, please refer to [the documentation / reference]. Figure 1B ,include:
[0104] (1) Constructing a hollow model shell
[0105] a) Finding vertices on the outer geometric surface
[0106] i. External geometric surface basis
[0107] 1. Mesh boundary
[0108] 2. User-specified sub-layer
[0109] 3. User-specified cutting plane
[0110] ii. Reduce the number of fixed points on the external geometric surface
[0111] iii. Delete internal vertices
[0112] iv. Generate the UV coordinates of the outer surface
[0113] 1. UV coordinates in the vertical direction
[0114] a) The X-coordinate of vertex UV is equal to the I-coordinate of the grid to which the vertex belongs, and the Y-coordinate of vertex UV is equal to the J-coordinate of the grid to which it belongs.
[0115] 2. UV coordinates in the left and right directions
[0116] a) The X-coordinate of vertex UV is equal to the I-coordinate of the grid to which the vertex belongs, and the Y-coordinate of vertex UV is equal to the K-coordinate of the grid to which it belongs.
[0117] 3. UV coordinates in the forward and backward directions
[0118] a) The X coordinate of vertex UV is equal to the J coordinate of the mesh to which the vertex belongs, and the Y coordinate of vertex UV is equal to the K coordinate of the mesh to which it belongs.
[0119] b) Delete internal vertices
[0120] i. Delete all vertices except the outer surface, and do not construct faces inside.
[0121] (2) Constructing attribute maps
[0122] a) Create an up-direction texture
[0123] i. Set texture resolution to 1xJ
[0124] ii. Based on the I and J coordinates, take the attribute at the same position as the K value of the top sub-layer and write it as a floating point to the pixel.
[0125] b) Construct the down-direction map
[0126] i. Set texture resolution to 1xJ
[0127] ii. Based on the I and J coordinates, take the attribute at the same position as the K value of the lower layer and write it as a floating point to the pixel.
[0128] c) Construct the up-direction texture
[0129] i. Set texture resolution to 1xJ
[0130] ii. Based on the I and J coordinates, take the attribute at the same position as the K value of the top sub-layer and write it as a floating point to the pixel.
[0131] d) Construct a left-side texture
[0132] i. Set texture resolution to 1xK
[0133] ii. The texture in column I, row K corresponds to the coordinates of attribute data I and K. The J coordinate is determined by the J coordinate of the grid in column I, row K of the left outer contour. The floating-point values of positions I, J, and K are taken from the attribute body and written to the pixel.
[0134] e) Construct the right-side texture
[0135] i. Set texture resolution to 1xK
[0136] ii. The texture in column I, row K corresponds to the coordinates of attribute data I and K. The J coordinate is determined by the J coordinate of the grid in column I, row K of the right outer contour. The floating-point values of positions I, J, and K are taken from the attribute body and written to the pixel.
[0137] f) Construct the forward orientation map
[0138] i. Set texture resolution to JxK
[0139] ii. The texture in column J and row K corresponds to the coordinates of attribute data J and K. The I coordinate is determined by the I coordinate of the grid in column J and row K of the front outer contour. The floating-point values of I, J, and K positions are taken from the attribute volume and written to the pixel.
[0140] g) Construct the orientation map afterward.
[0141] i. Set texture resolution to JxK
[0142] ii. The texture in column J and row K corresponds to the J and K coordinates of the attribute data. The I coordinate is determined by the I coordinate of the grid in column J and row K of the rear outer contour. The floating-point values of the I, J, and K positions are taken from the attribute volume and written to the pixel.
[0143] (3) Reinterpret texture colors using shaders
[0144] a) Definition of Hue and Value Range
[0145] i. The minimum value and corresponding hue value are set by the user.
[0146] ii. The user sets the maximum value and the corresponding hue value.
[0147] b) Tone mapping (this process is performed for each pixel, and is done by the shader)
[0148] i. Treat the pixel color value as a floating-point value. If it exceeds the defined range, truncate the value to the nearest boundary.
[0149] ii. Map the floating-point value to a hue value using linear or non-linear interpolation (depending on specific requirements).
[0150] iii. The final color output of the pixel is the mapped hue.
[0151] 2.5 Real-time rendering and lighting
[0152] After the attribute maps are applied to the model, UE5's real-time rendering and lighting features are used to further adjust and optimize the materials. Real-time rendering allows you to see the effects of changes immediately during editing without waiting for the rendering process to complete, which can greatly improve development efficiency.
[0153] The lighting function can simulate the effects of different light sources on the model surface, thereby enhancing the visual effect. In UE, various types of light sources can be created and configured, including point lights, directional lights, spotlights, etc.
[0154] In addition, UE supports advanced lighting technologies such as global illumination, shadow mapping, and screen space reflections, which can further improve rendering quality and make models look more realistic and vivid.
[0155] 2.6 Optimization and Debugging
[0156] After completing the above steps, optimization and debugging are required to ensure the quality and performance of the materials, including adjusting color mapping, optimizing shader code, reducing unnecessary rendering calls, etc. You can also use UE5's performance analysis tools to identify and resolve potential bottlenecks or problems.
[0157] By following the steps above, you can utilize UE's real-time rendering and lighting capabilities to create high-quality attribute maps and apply them to 3D models. See attached image for an example. Figure 2 As shown.
[0158] (3) High-precision texture mapping and low-precision model
[0159] For geological body meshes, the undulations between most meshes are not significant, allowing for the merging of similar faces with minimal impact on geometry, further reducing the number of triangles. However, high-precision attribute maps are still used for textures, thus maintaining the same information content while reducing the rendering load. The high-precision maps are applied by setting appropriate material properties in UE's material editor, including adjusting the texture sampling method, blending mode, and lighting properties. This ensures that the material settings fully utilize the texture details and deliver the desired visual effect.
[0160] In UE, the main processes for optimizing geological body meshes and applying textures include mesh optimization, using high-precision attribute maps, setting material properties, and rendering visual effects.
[0161] 3.1 Mesh Optimization
[0162] Analyze the mesh: First, analyze the geological body mesh, paying attention to surfaces with little undulation and similar shapes, as these surfaces are the main targets for optimization.
[0163] Merging Faces: Using the functionality of UE or external modeling software, merge similar faces. During merging, ensure that the geometry is minimally affected to preserve the overall shape and characteristics of the geological body.
[0164] Reduce the number of triangles: By merging faces, the number of triangles in the geometry can be effectively reduced. This helps reduce rendering load and improve performance.
[0165] 3.2 Using high-precision attribute maps
[0166] Preparing the texture: Despite mesh optimization, the texture remains highly accurate. This ensures that the texture details and attribute information of the geological body are preserved.
[0167] Import Textures: Import high-precision attribute textures into UE. Ensure the texture resolution and format match the project requirements.
[0168] 3.3 Setting Material Properties
[0169] Open the Material Editor: In UE, open the Material Editor to begin setting material properties.
[0170] Adjust the texture sampling method: Select the appropriate sampling method as needed, such as nearest point sampling, linear sampling, trilinear sampling, etc. Different sampling methods will affect the clarity and performance of the texture. You can also adjust the texture filtering method (such as nearest point, linear, cubic, etc.) to balance clarity and performance.
[0171] Set the blending mode: Select the appropriate blending mode as needed, such as Alpha blending, additive blending, multiplicative blending, etc. This will affect how the texture blends with other elements. You can adjust the blending parameters (such as Alpha value, blending factor, etc.) to control the blending effect.
[0172] Adjust lighting attributes: Adjust lighting attributes such as diffuse reflection, specular reflection, and glossiness according to the characteristics of the geological body and the requirements of the scene. This will affect the geological body's response to lighting and its appearance. You can use UE's lighting analysis tools to evaluate and adjust the lighting effects.
[0173] 3.4 Presenting the desired visual effect
[0174] Preview and Adjust: Preview material effects in the Material Editor and adjust them as needed. You can adjust various parameters to optimize visual effects and performance.
[0175] Apply material to mesh: Apply the set material to the geological body mesh to ensure that the material corresponds correctly to the mesh and presents the desired visual effect.
[0176] Testing and Optimization: Test the rendering effects and performance of the geological features in the scene. Make further optimizations and adjustments as needed to achieve the best results.
[0177] By following the steps described above, the geological body mesh can be optimized with minimal impact on its geometry, and high-precision attribute maps can be used to achieve the desired visual effect. Simultaneously, material properties can be adjusted to fully utilize texture details and reduce rendering load.
[0178] The presentation effect is as follows Figure 3 As shown.
[0179] (4) Data storage
[0180] a) Grid model storage
[0181] i. Design Goals
[0182] 1. Supports multi-level dynamic fineness
[0183] a) Depending on the hardware conditions of the operating equipment and business needs, the required level of detail in the mesh model varies at different locations. For example, when there is a requirement to cut along a well, the geometric details of the cross-section through which the well passes are required to prevent clipping. However, in this case, the geometric details of the data volume edges do not require high precision.
[0184] 2. Multi-threaded loading
[0185] a) The grid data volume is very large, and file loading time will be a significant factor. Loading involves more than just reading the file from the hard drive to memory; it also includes forming data structures in memory for subsequent use by the program.
[0186] ii. Storage Structure Design
[0187] 1. An octree structure is adopted.
[0188] 2. Using the original mesh data as the last leaf node of the octree, merge meshes in the front / back, top / bottom, and left / right directions in pairs. Do not merge at the edge. Merge a maximum of 8 meshes into one mesh, which will be used as the parent node mesh.
[0189] 3. Repeat the above process several times, the number of times depending on the data accuracy and user needs.
[0190] b) Numerical model storage
[0191] i. Design Goals
[0192] 1. Multi-threaded loading
[0193] a) This process is frequently used in the attribute map construction process, and the data volume is large, so multi-threading optimization is highly beneficial. ii. Storage structure design
[0194] 1. In the following, I, J, and K represent the maximum capacity of the mesh in the three dimensional directions, and i, j, and k represent the three-dimensional coordinates of the mesh.
[0195] 2. Save files
[0196] a) 3D to 1D
[0197] ii, j, and k all start from 0.
[0198] ii. Write the attribute value at coordinates (i,j,k). Increment i by 1 after each write, until i = I-1.
[0199] iii. Increment j by 1, repeating process ii, until j = J-1
[0200] iv. Increment k by 1, repeat process iii, until k = K - 1
[0201] 3. Read the file
[0202] a) Create a floating-point array with a capacity of I x J x K
[0203] b) Reading the attribute value at coordinates (i, j, k) is equivalent to taking the value at the (ixjxk+ixj+i)th position in the array.
[0204] c) The value reading process is called by the texture construction process, which does not involve inter-thread communication or resource mutual exclusion. It can be performed by multiple threads simultaneously without interaction with other threads.
[0205] 4.1 Data Partitioning and Tree Structure
[0206] Octree: For data in three-dimensional space, an octree is a commonly used tree structure. It recursively divides the three-dimensional space into eight equal-sized subspaces (i.e., eight "child nodes") until a set minimum partition size is reached or a certain termination condition is met. Each child node represents a subspace and may contain data points within that subspace or references to other child nodes.
[0207] Quadtree: For a given dimension (such as height) in a two-dimensional or three-dimensional space, a quadtree divides the space into four equal-sized subspaces. Quadtrees are very useful in fields such as Geographic Information Systems (GIS) and image processing.
[0208] 4.2 Fine-grained partitioning
[0209] Each level of the tree structure represents a different fine-grained level. The root node represents the entire data space, while the child nodes gradually refine the spatial partitions. By adjusting the depth of the tree or the splitting conditions of the child nodes, the fine-grainedness of the partitions can be controlled. Finer granularity can provide more accurate data location, but it may also increase the complexity of the tree and search time.
[0210] 4.3 Data Search Process
[0211] Rough location: Starting from the root node, determine the subspace (i.e., child node) to which the data point to be searched belongs based on its spatial location (such as coordinates). Recursively repeat the above process in the child nodes until the smallest partition containing the target data point is found.
[0212] Precise search: Once the smallest partition containing the target data point is found, linear search or other efficient search algorithms can be used within that partition to precisely locate the data point.
[0213] Multi-threaded lookup: Because the tree structure distributes data across different partitions, lookup operations can be performed in parallel on multiple partitions. This can be achieved through multi-threading or multi-processing. See the appendix for the multi-threaded lookup process. Figure 4 .
[0214] Divide the entire tree into multiple non-overlapping subtrees or partitions.
[0215] Allocate a thread or process for each subtree or partition and perform the search operation simultaneously.
[0216] Once all threads or processes have completed their searches, the results are merged and returned to the user.
[0217] In this embodiment, by employing techniques such as calculating only the sectioned outer geometric surface, calculating high-resolution textures but using lower-precision geometric surfaces, parallel computing, and dedicated data services, the rendering efficiency of large-scale geological attribute meshes is significantly improved. Experimental results show that this method significantly reduces rendering time and memory consumption while maintaining rendering quality, making it suitable for real-time visualization needs in fields such as geological exploration, resource management, and scientific research.
[0218] In practical applications, users need to select small layers for observation and observe cross-sections. Based on the intersection of the edge of the small layer range and the user-defined cross-section with the mesh, the vertices of the outer surface are connected to form an irregular three-dimensional surface composed of multiple triangles. Irrelevant internal data is eliminated, thereby reducing the amount of data and computational complexity.
[0219] High-resolution mapping technology is employed to accurately represent geological attributes. For example, when rendering geological models, high-resolution maps are used to represent the texture features and structural details of the structures, while lower-resolution maps are used for geometric surface models to reduce the number of vertex meshes and faces. In this way, both visual quality and the computational burden on geometry are reduced.
[0220] By leveraging GPU parallel computing technology, the computational task of geological attribute meshes is decomposed into multiple subtasks for parallel processing. For example, when processing and rendering complex geological models, CUDA technology is used to accelerate computation, improving overall efficiency. Multithreading technology can also be used for parallel processing of tasks such as sectioning, simplification, and texture calculation.
[0221] Design and implement dedicated data services to preload geological attribute grid data into memory. For example, establish a data server to manage and maintain the in-memory geological data and provide efficient data access interfaces. Rendering engines and other applications can then quickly retrieve the required data by calling these interfaces, improving system responsiveness and user experience.
[0222] This application provides an efficient rendering method for large-scale geological attribute meshes. By calculating only the sectioned outer geometric surface, using high-resolution textures and low-precision geometric surfaces, employing parallel computing techniques, and using dedicated data services to pre-load data, this method achieves efficient rendering of large-scale geological attribute meshes. This method significantly improves rendering efficiency and system performance, enhances rendering effects, and ensures the work efficiency and accuracy of technical personnel.
[0223] Example 3:
[0224] Another embodiment of this application relates to a geological attribute grid rendering device. The implementation details of this geological attribute grid rendering device are described below. The following details are for ease of understanding and are not essential for implementing this solution. The geological attribute grid rendering device of this embodiment includes:
[0225] The geometric outer surface parameter acquisition module is used to acquire geometric outer surface parameters;
[0226] A hollow model shell construction module is used to construct a hollow model shell based on the geometric outer surface parameters.
[0227] The texture model construction module is used to obtain the coordinates of the hollow model shell, and to perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the texture model;
[0228] The low-precision model acquisition module is used to parse the texture model, determine the geological body mesh on the texture model, and merge the faces of the geological body mesh with similar attributes on the texture model to obtain the low-precision model.
[0229] The rendering module is used to render the low-precision model to obtain a high-precision texture model.
[0230] In one embodiment, the geometric outer surface parameters include geometric outer surface vertex position parameters;
[0231] The geometric outer surface parameter acquisition module includes:
[0232] The parameter acquisition unit is used to acquire mesh boundary, sub-layer position parameters, and preset cutting planes;
[0233] The geometric outer surface parameter determination unit is used to determine the geometric outer surface parameters based on the mesh boundary, the sub-layer position parameters, and the preset cutting surface.
[0234] In one embodiment, the hollow model shell building module includes:
[0235] A prototype model shell construction unit is used to construct a prototype model shell according to the geometric outer surface parameters;
[0236] An internal vertex deletion unit is used to determine the internal vertices of the prototype model shell based on the coordinates of the prototype model shell, and delete the internal vertices.
[0237] The outer surface coordinate generation unit is used to generate outer surface coordinates based on the geometric outer surface parameters of the prototype model shell after the inner vertices have been deleted;
[0238] A hollow model shell construction unit is used to construct the hollow model shell based on the coordinates of the outer surface.
[0239] In one embodiment, the internal vertex deletion unit is further configured to determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell based on the coordinates of the prototype model shell; delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
[0240] In one embodiment, the texture model building module includes:
[0241] The model coordinate acquisition unit is used to acquire the coordinates of the hollow model shell;
[0242] A geological attribute image coordinate acquisition unit is used to acquire a geological attribute image and obtain the coordinates of the geological attribute image;
[0243] The pixel writing unit is used to obtain the attribute at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell based on the coordinates of the hollow model shell, and write the floating-point value of the attribute to the pixel corresponding to the coordinates of the hollow model shell to obtain the texture model.
[0244] In one embodiment, the low-precision model acquisition module includes:
[0245] A geological body mesh determination unit is used to parse the texture model and determine the geological body mesh on the texture model;
[0246] The mesh merging unit is used to merge adjacent geological body meshes on the texture model whose undulation is less than a preset undulation threshold or whose shape similarity is greater than a preset similarity threshold, to obtain a low-precision model.
[0247] In one embodiment, the geological attribute grid rendering apparatus further includes:
[0248] The original mesh data acquisition module is used to acquire the original mesh data of the high-precision texture model;
[0249] An octree storage structure construction module is used to construct an octree storage structure using the original grid data as the last leaf node of the octree.
[0250] The storage module is used to store the original mesh data of the high-precision texture model based on the octree storage structure.
[0251] It is worth mentioning that all modules involved in this embodiment are logical modules. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. Furthermore, to highlight the innovative aspects of this application, this embodiment does not introduce units that are not closely related to solving the technical problems proposed in this application; however, this does not mean that other units are absent in this embodiment.
[0252] Example 4:
[0253] Another embodiment of this application relates to an electronic device, such as... Figure 5 As shown, it includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the geological attribute grid rendering method in the above embodiments.
[0254] The memory and processor are connected via a bus, which can include any number of interconnecting buses and bridges, connecting various circuits of one or more processors and memories. The bus can also connect various other circuits, such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and will not be described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by the processor is transmitted over the wireless medium via an antenna, which further receives data and transmits it to the processor.
[0255] The processor manages the bus and general processing, and also provides various functions, including timing, peripheral interfaces, voltage regulation, power management, and other control functions. Memory is used to store data used by the processor during operation.
[0256] In one embodiment, an electronic device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to perform the following steps:
[0257] Obtain the geometric outer surface parameters;
[0258] Based on the aforementioned geometric outer surface parameters, a hollow model shell is constructed;
[0259] Obtain the coordinates of the hollow model shell, and perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model;
[0260] The texture model is analyzed to determine the geological body mesh on the texture model. Faces of the geological body mesh with similar attributes on the texture model are merged to obtain a low-precision model.
[0261] The low-precision model is rendered to obtain a high-precision texture model.
[0262] In one embodiment, the geometric outer surface parameters include geometric outer surface vertex position parameters;
[0263] When a processor executes a computer program, it also performs the following steps:
[0264] Obtain mesh boundaries, sub-layer position parameters, and preset cutting planes;
[0265] The geometric outer surface parameters are determined based on the mesh boundary, the sub-layer position parameters, and the preset cutting surface.
[0266] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0267] Based on the aforementioned geometric outer surface parameters, a prototype model shell is constructed;
[0268] Based on the coordinates of the prototype model shell, determine the internal vertices of the prototype model shell, and delete the internal vertices;
[0269] Based on the geometric outer surface parameters of the prototype model shell after deleting the internal vertices, generate the outer surface coordinates;
[0270] Based on the coordinates of the outer surface, the hollow model shell is constructed.
[0271] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0272] Based on the coordinates of the prototype model shell, determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell;
[0273] Delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
[0274] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0275] Obtain the coordinates of the hollow model shell;
[0276] Obtain a geological attribute image and obtain the coordinates of the geological attribute image;
[0277] Based on the coordinates of the hollow model shell, the attributes at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell are obtained, and the floating-point values of the attributes are written to the pixels corresponding to the coordinates of the hollow model shell to obtain the texture model.
[0278] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0279] Analyze the texture model to determine the geological body mesh on the texture model;
[0280] The surfaces of adjacent geological body meshes on the texture model with undulation less than a preset undulation threshold or shape similarity greater than a preset similarity threshold are merged to obtain a low-precision model.
[0281] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0282] Obtain the original mesh data of the high-precision texture model;
[0283] Using the original grid data as the last leaf node of the octree, construct an octree storage structure;
[0284] The original mesh data of the high-precision texture model is stored based on the octree storage structure.
[0285] Example 5:
[0286] Another embodiment of this application relates to a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the method embodiments described above.
[0287] In this embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, it performs the following steps:
[0288] Obtain the geometric outer surface parameters;
[0289] Based on the aforementioned geometric outer surface parameters, a hollow model shell is constructed;
[0290] Obtain the coordinates of the hollow model shell, and perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model;
[0291] The texture model is analyzed to determine the geological body mesh on the texture model. Faces of the geological body mesh with similar attributes on the texture model are merged to obtain a low-precision model.
[0292] The low-precision model is rendered to obtain a high-precision texture model.
[0293] In one embodiment, the geometric outer surface parameters include geometric outer surface vertex position parameters;
[0294] When a computer program is executed by a processor, it also performs the following steps:
[0295] Obtain mesh boundaries, sub-layer position parameters, and preset cutting planes;
[0296] The geometric outer surface parameters are determined based on the mesh boundary, the sub-layer position parameters, and the preset cutting surface.
[0297] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0298] Based on the aforementioned geometric outer surface parameters, a prototype model shell is constructed;
[0299] Based on the coordinates of the prototype model shell, determine the internal vertices of the prototype model shell, and delete the internal vertices;
[0300] Based on the geometric outer surface parameters of the prototype model shell after deleting the internal vertices, generate the outer surface coordinates;
[0301] Based on the coordinates of the outer surface, the hollow model shell is constructed.
[0302] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0303] Based on the coordinates of the prototype model shell, determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell;
[0304] Delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
[0305] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0306] Obtain the coordinates of the hollow model shell;
[0307] Obtain a geological attribute image and obtain the coordinates of the geological attribute image;
[0308] Based on the coordinates of the hollow model shell, the attributes at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell are obtained, and the floating-point values of the attributes are written to the pixels corresponding to the coordinates of the hollow model shell to obtain the texture model.
[0309] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0310] Analyze the texture model to determine the geological body mesh on the texture model;
[0311] The surfaces of adjacent geological body meshes on the texture model with undulation less than a preset undulation threshold or shape similarity greater than a preset similarity threshold are merged to obtain a low-precision model.
[0312] In one embodiment, when the computer program is executed by a processor, it also performs the following steps:
[0313] Obtain the original mesh data of the high-precision texture model;
[0314] Using the original grid data as the last leaf node of the octree, construct an octree storage structure;
[0315] The original mesh data of the high-precision texture model is stored based on the octree storage structure.
[0316] The processor may include, but is not limited to, one or more processors or microprocessors. Each processor may be implemented as an Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor, or other electronic component, for executing the methods described in the above embodiments.
[0317] Computer-readable storage media can be implemented by any type of volatile or non-volatile storage device or a combination thereof. Computer-readable storage media may include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, and computer storage media (e.g., hard disks, floppy disks, solid-state drives, removable disks, Blu-ray discs, etc.).
[0318] Computer-readable storage media may also store at least one computer-executable program / instruction, such as computer-readable instructions. Computer-readable storage media include, but are not limited to, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Computer-readable storage media may include, for example, read-only memory (ROM), hard disk, flash memory, etc. For example, a non-transitory computer-readable storage medium may be connected to a computing device such as a computer, and then, when the computing device executes the computer-readable instructions stored on the computer-readable storage medium, the various methods described above can be performed.
[0319] In addition, the computer device may include (but is not limited to) a data bus, an input / output (I / O) bus, a display, and input / output devices (e.g., keyboard, mouse, speakers, etc.).
[0320] The processor can communicate with external devices via the I / O bus through wired or wireless networks.
[0321] In one embodiment, the at least one computer-executable instruction may also be compiled into or comprise a software product / computer program product, wherein one or more computer-executable instructions are executed by a processor to perform the steps of the various functions and / or methods in the embodiments described herein.
[0322] In the embodiments provided in this disclosure, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0323] It should be noted that, in this disclosure, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element limited by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0324] While the embodiments disclosed herein are as described above, the foregoing content is merely for the purpose of facilitating understanding of this disclosure and is not intended to limit this disclosure. Any person skilled in the art to which this disclosure pertains may make any modifications and changes in form and detail of the implementation without departing from the spirit and scope of this disclosure; however, the scope of patent protection of this disclosure shall still be determined by the scope defined in the appended claims.
Claims
1. A method for rendering geological attribute grids, characterized in that, include: Obtain the geometric outer surface parameters; Based on the aforementioned geometric outer surface parameters, a hollow model shell is constructed; Obtain the coordinates of the hollow model shell, and perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model; The texture model is analyzed to determine the geological body mesh on the texture model. Faces of the geological body mesh with similar attributes on the texture model are merged to obtain a low-precision model. The low-precision model is rendered to obtain a high-precision texture model.
2. The method of claim 1, wherein, The geometric outer surface parameters include the vertex position parameters of the geometric outer surface; The steps for obtaining the geometrical outer surface parameters include: Obtain mesh boundaries, sub-layer position parameters, and preset cutting planes; The geometric outer surface parameters are determined based on the mesh boundary, the sub-layer position parameters, and the preset cutting surface.
3. The method of claim 2, wherein, The step of constructing the hollow model shell based on the geometric outer surface parameters includes: Based on the aforementioned geometric outer surface parameters, a prototype model shell is constructed; Based on the coordinates of the prototype model shell, determine the internal vertices of the prototype model shell, and delete the internal vertices; Based on the geometric outer surface parameters of the prototype model shell after deleting the internal vertices, generate the outer surface coordinates; Based on the coordinates of the outer surface, the hollow model shell is constructed.
4. The method of claim 3, wherein, The step of determining the internal vertices of the prototype model shell based on its coordinates and deleting the internal vertices includes: Based on the coordinates of the prototype model shell, determine the number of internal vertices of the model and the number of fixed points on the outer geometric surface of the prototype model shell; Delete the internal vertices and reduce the number of fixed points on the outer geometric surface of the prototype model shell.
5. The method of claim 1, wherein, The steps of obtaining the coordinates of the hollow model shell, and performing attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the textured model include: Obtain the coordinates of the hollow model shell; Obtain a geological attribute image and obtain the coordinates of the geological attribute image; Based on the coordinates of the hollow model shell, the attributes at the coordinates of the geological attribute image corresponding to the coordinates of the hollow model shell are obtained, and the floating-point values of the attributes are written to the pixels corresponding to the coordinates of the hollow model shell to obtain the texture model.
6. The method of claim 1, wherein, The steps of parsing the texture model, determining the geological body mesh on the texture model, and merging the faces of the geological body mesh with similar attributes on the texture model to obtain a low-precision model include: Analyze the texture model to determine the geological body mesh on the texture model; The surfaces of adjacent geological body meshes on the texture model with undulation less than a preset undulation threshold or shape similarity greater than a preset similarity threshold are merged to obtain a low-precision model.
7. The method according to any one of claims 1 to 6, characterized in that, After the step of rendering the low-precision model to obtain the high-precision texture model, the method further includes: Obtain the original mesh data of the high-precision texture model; Using the original grid data as the last leaf node of the octree, construct an octree storage structure; The original mesh data of the high-precision texture model is stored based on the octree storage structure.
8. A geological attribute grid rendering device, characterized in that, include: The geometric outer surface parameter acquisition module is used to acquire geometric outer surface parameters; A hollow model shell construction module is used to construct a hollow model shell based on the geometric outer surface parameters. The texture model construction module is used to obtain the coordinates of the hollow model shell, and to perform attribute mapping on the hollow model shell based on the coordinates of the hollow model shell to obtain the texture model; The low-precision model acquisition module is used to parse the texture model, determine the geological body mesh on the texture model, and merge the faces of the geological body mesh with similar attributes on the texture model to obtain the low-precision model. The rendering module is used to render the low-precision model to obtain a high-precision texture model.
9. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.