A visual rendering method, device, apparatus and storage medium
Patent Information
- Application Number
- CN202611495693.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-24
- Publication Date
- 2026-11-03
AI Technical Summary
这种方法在百万级单元规模下,单次阈值过滤需要数十毫秒,累计重传数吉字节的几何数据,导致交互帧率严重下降
[0014]本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。
Smart Images

Figure CN123032871A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of three-dimensional data visualization technology, and in particular to a visualization rendering method, apparatus, device and storage medium. Background Technology
[0002] With the continuous development of oil and gas exploration and development technologies, the scale of corner reservoir time-series models generated by reservoir numerical simulations is becoming increasingly large, typically reaching millions or even hundreds of millions of units, containing tens to hundreds of time steps and various attribute parameters. Geological and reservoir engineers need to perform real-time interactive analysis of these models using browser-based 3D visualization technology, including operations such as dragging the time axis, selecting regions of interest, and sliding attribute thresholds, to support exploration and development decisions. However, corner reservoir models contain complex geological structures such as faults, pinch-outs, and inactive units, and the effective unit set changes dynamically with time steps, posing a significant challenge to real-time interactive visualization on the browser side.
[0003] Current methods typically employ reconstructive interactive visualization techniques, where the visible cell set is recalculated, the geometric topology is reconstructed, and uploaded to the graphics processor (GPU) for each user interaction. At the million-cell scale, this approach requires tens of milliseconds for a single threshold filtering operation, accumulating several gigabytes of retransmitted geometric data, resulting in a significant drop in the interaction frame rate. While some fixed geometry reuse schemes can avoid repetitive geometric construction of static meshes, the geometry still needs to be reconstructed by the CPU during threshold or region-of-interest (ROI) interactions. Furthermore, none of these methods address the attribute rank instability caused by time-series inactive cells at corner reservoirs, forcing a fallback to recalculating the visible set on the CPU.
[0004] Therefore, how to eliminate the overhead of geometric reconstruction and data retransmission during the interaction process and realize zero reconstruction real-time interactive visualization of corner reservoir time series models on the browser side is an urgent problem to be solved. Summary of the Invention
[0005] In view of this, the visualization rendering method, apparatus, device, and storage medium provided in this application can eliminate the overhead of geometric reconstruction and data retransmission during the interaction process, and realize zero-reconstruction real-time interactive visualization of corner reservoir time series models on the browser side. The visualization rendering method, apparatus, device, and storage medium provided in this application are implemented as follows: This application provides a visualization rendering method, including: Obtain the original cell information of the corner reservoir grid, and perform stable spectrum construction processing on the original cell information and the rendering cell to obtain stable cell identifiers and bidirectional mapping relationships; The geometric data of the corner reservoir grid and the stable cell identifier are preprocessed and bound to obtain vertex buffer and index buffer; Acquire the time-series load cell attribute data, organize and configure the time-series load cell attribute data and parsing logic to obtain the attribute load and the active rank parser. The active rank parser is used to parse the parsing state of the cell at the current time step by the stable cell identifier: if it is in the current attribute load, output the compact attribute rank; if it is physically valid but has not entered the current attribute load, output the reference default state; if it is physically inactive, output the inactive state. The interaction instructions are obtained and parsed to obtain a set of state parameters to be updated. The interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions. The set of state parameters includes user interaction predicates corresponding to the interaction instructions. In the graphics processor shader, attribute addressing and parsing are performed on the vertex buffer and index buffer, the bidirectional mapping relationship and the active rank parser to obtain the current parsing state, attribute rank and physical deactivation culling result; The current parsing state, the attribute rank, the attribute load, the physical inactivation culling result, and the user interaction predicate are subjected to coloring judgment processing to obtain the visible unit rendering result.
[0006] In some embodiments, obtaining the original cell information of the corner reservoir grid, and performing stable spectrum construction processing on the original cell information and the rendered cells to obtain stable cell identifiers and bidirectional mapping relationships includes: Obtain the original cell numbering information of the corner reservoir grid, perform global unique identifier allocation processing on the numbering information, and obtain the stable cell identifier corresponding to each original cell; Obtain the rendering unit sequence information of the graphics processor, and perform association processing between the rendering unit sequence and the stable unit identifier to obtain a positive mapping relationship; The stable unit identifier and the rendering unit index are reverse-associated to obtain a reverse mapping relationship; The forward mapping relationship and the reverse mapping relationship are persisted and solidified to obtain a bidirectional mapping relationship.
[0007] In some embodiments, the preprocessing and binding of the geometric data of the corner reservoir grid and the stable cell identifier to obtain a vertex buffer and an index buffer includes: Obtain vertex coordinate data and cell topology connection data of the corner reservoir grid, and perform geometric unfolding processing on the vertex coordinate data and cell topology connection data to obtain geometric vertex data and index data; The geometric vertex data and the stable unit identifier are subjected to attribute binding processing to obtain vertex attribute data; The vertex attribute data is buffered to obtain a vertex buffer; The index data is buffered to obtain the index buffer.
[0008] In some embodiments, the step of acquiring time-series load cell attribute data, organizing and configuring the time-series load cell attribute data and parsing logic to obtain attribute loads and an activity rank parser includes: All unit attribute data are obtained, and the all unit attribute data are filtered to obtain time-series load units whose attribute values deviate from the reference value by more than a threshold or whose state changes. The attribute values of the time-series load cells are processed into a compact rank arrangement to obtain the attribute loads; Obtain the parsing rules for the unit identifier, configure the parsing rules, and obtain the active rank parser.
[0009] In some embodiments, obtaining the interaction instruction and parsing the interaction instruction to obtain a set of state parameters to be updated includes: Obtain the time step switching command initiated by the user, parse and process the time step switching command to obtain the attribute load update parameters corresponding to the target time step; Obtain the spatial region of interest selection instruction initiated by the user, parse the spatial region of interest selection instruction, and obtain the boundary parameters and spatial predicate parameters of the region of interest; Obtain the attribute threshold adjustment command initiated by the user, parse the attribute threshold adjustment command to obtain the attribute threshold range and attribute predicate parameters; The attribute load update parameters, the boundary parameters, the spatial predicate parameters, the attribute threshold range, and the attribute predicate parameters are integrated to obtain a set of state parameters to be updated.
[0010] In some embodiments, the step of performing attribute addressing resolution on the vertex buffer and index buffer, the bidirectional mapping relationship, and the active rank resolver to obtain the current resolution state, attribute rank, and physical inactivation culling result includes: Obtain rendering unit information from the vertex buffer and index buffer, perform mapping processing on the rendering unit information and the bidirectional mapping relationship, and obtain stable unit identifiers; The stable unit identifier and the active rank parser are parsed to obtain the parsing state; The attribute rank extraction process is performed on the cells whose parsing state is in the current attribute load to obtain the compact attribute rank; The cells whose analytical state is physically inactive are marked for removal to obtain the physical inactivation removal results.
[0011] In some embodiments, the step of performing coloring judgment processing on the current parsing state, the attribute rank, the attribute load, the physical deactivation culling result, and the user interaction predicate to obtain the visible unit rendering result includes: The physically inactive units in the physical inactivation removal results are removed to obtain a set of physically effective units; The attribute rank and the attribute load are subjected to attribute value extraction processing to obtain the current attribute value; A threshold judgment is performed on the current attribute value and the user interaction predicate to obtain a set of units that meet the attribute threshold conditions; The set of units that meet the attribute threshold conditions is subjected to color rendering processing to obtain the rendering result of visible units.
[0012] This application provides a visualization rendering device, comprising: The acquisition module is used to acquire the original cell information of the corner reservoir grid, and to perform stable spectrum construction processing on the original cell information and the rendering cell to obtain stable cell identifiers and bidirectional mapping relationships. The processing module is used to preprocess and bind the geometric data of the corner reservoir grid and the stable cell identifier to obtain the vertex buffer and the index buffer. The acquisition module is further configured to acquire time-series load unit attribute data, organize and configure the time-series load unit attribute data and parsing logic to obtain attribute loads and an active rank parser. The active rank parser is used to parse the parsing state of the unit at the current time step based on the stable unit identifier: if it is in the current attribute load, it outputs the compact attribute rank; if it is physically valid but has not entered the current attribute load, it outputs the reference default state; if it is physically inactive, it outputs the inactive state. The acquisition module is further configured to acquire interaction instructions, parse and process the interaction instructions to obtain a set of state parameters to be updated, the interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions, and the set of state parameters includes user interaction predicates corresponding to the interaction instructions; The processing module is also used to perform attribute addressing and parsing processing on the vertex buffer and index buffer, the bidirectional mapping relationship and the active rank parser in the graphics processor shader to obtain the current parsing state, attribute rank and physical deactivation culling result; The rendering module is used to perform coloring judgment processing on the current parsing state, the attribute rank, the attribute load, the physical deactivation culling result, and the user interaction predicate to obtain the visible unit rendering result.
[0013] The computer device provided in this application includes a memory and a processor. The memory stores a computer program that can run on the processor. When the processor executes the program, it implements the method described in this application.
[0014] The computer-readable storage medium provided in this application embodiment stores a computer program thereon, which, when executed by a processor, implements the method provided in this application embodiment.
[0015] The visualization rendering method, apparatus, device, and storage medium provided in this application establish a bidirectional mapping relationship between rendering units and original units by assigning stable unit identifiers to the original units of the corner reservoir grid; preprocessing geometric data into vertex buffers and index buffers; organizing the temporal load unit attributes into attribute loads according to compact rank, and configuring an active rank parser that supports three parsing states; updating only the state parameters on the graphics processor side in response to user interaction; completing attribute addressing through stable spectral mapping and the active rank parser, identifying and removing physically inactive units; and finally completing shading judgment and rendering based on the user interaction predicate. This eliminates the overhead of geometric reconstruction and data retransmission during the interaction process, achieving zero-reconstruction real-time interactive visualization of the corner reservoir time series model on the browser side, thus solving the technical problems mentioned in the background art.
[0016] For ease of understanding, some terms in this application are explained as follows: Stable cell identifier, refers to the globally unique identifier assigned to each original cell of the corner reservoir grid during the preprocessing stage, which remains unchanged throughout all time step switching and interaction processes; Stable lineage construction process, refers to the process of establishing and solidifying the bidirectional mapping between the aforementioned stable cell identifier and the graphics processor rendering cell; Temporal load cell, refers to the cell whose attribute value needs to be explicitly given by the attribute load at the current time step, i.e., the cell whose attribute value deviates from the reference default value by more than a preset threshold or whose physical state changes; Compact attribute rank, refers to the sequence number of the temporal load cell in the attribute loads arranged in a continuous order; Active rank resolver, refers to the indexing device that resolves the resolution state and attribute rank of the cell at the current time step using the stable cell identifier; Physical deactivation, refers to the state in which the cell is determined by the validity identifier to not participate in display or calculation; User interaction predicate, refers to the temporal condition, spatial region of interest condition, and attribute threshold condition obtained by parsing the interaction command and used by the graphics processor to make visibility judgments. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A schematic diagram illustrating the implementation process of a visualization rendering method provided in an embodiment of this application; Figure 2 This is a schematic diagram illustrating an implementation process for obtaining stable unit identifiers and bidirectional mapping relationships, provided in an embodiment of this application. Figure 3 This is a schematic diagram of the structure of a visualization rendering device provided in an embodiment of this application; Figure 4 A comparison chart of interactive zero-reconstruction and reconstructive baseline performance is provided for embodiments of this application; Figure 5 This is a schematic diagram comparing the architectures of random access and spatial region of interest and temporal local query provided in an embodiment of this application. Detailed Implementation
[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of this application.
[0020] The following description of some technologies involved in the embodiments of this application is provided to aid understanding and should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and brevity, some descriptions of well-known functions and structures are omitted in the following description.
[0021] Figure 1 This is a schematic diagram illustrating the implementation flow of a visualization rendering method provided in an embodiment of this application, including steps 101 to 106. Wherein, Figure 1 This is merely one execution order shown in the embodiments of this application and does not represent the only execution order for a visualization rendering method. The execution order can be adjusted to achieve the desired final result. Figure 1 The steps shown can be performed in parallel or in reverse order.
[0022] Step 101: Obtain the original cell information of the corner reservoir grid, perform stable spectrum construction processing on the original cell information and the rendered cell to obtain stable cell identifiers and bidirectional mapping relationships.
[0023] In this embodiment, the basic information of all original cells of the corner reservoir grid is first obtained, and a globally unique stable cell identifier is assigned to each original cell. This stable cell identifier remains unchanged throughout all time steps and interactions. Then, the rendering cell sequence information of the graphics processor is obtained, and a forward mapping relationship is established between the rendering cells and the stable cell identifiers, ensuring that each rendering cell corresponds to a unique original cell. Simultaneously, a reverse mapping relationship is established from the stable cell identifier to the rendering cell index. Finally, the forward and reverse mapping relationships are persistently fixed to ensure that this bidirectional mapping relationship remains unchanged throughout all subsequent time step switching, region of interest selection, and attribute threshold interaction, providing a stable mapping foundation for subsequent attribute addressing.
[0024] Step 102: Preprocess and bind the geometric data and stable cell identifiers of the corner reservoir grid to obtain the vertex buffer and index buffer.
[0025] In this embodiment, the vertex coordinate data and cell topology connection data of the corner reservoir grid are first obtained. The geometric information of each corner hexahedral cell is unfolded into independent vertex data and corresponding index data. For complex geological structures such as faults and pinch-outs, fault-aware block processing is performed to generate corresponding anchor point geometry. After binding the anchor point geometry with the stable cell identifier of the cell to which it belongs, it is uniformly incorporated into the geometric data system, so that fault and pinch-out areas can be rendered directly based on the anchor point geometry, the current time step attributes, and the active bitmask, without the need to reconstruct the three-dimensional mesh for fault morphological changes.
[0026] Then, each vertex is attribute-bound to the stable unit identifier of its parent unit, so that each vertex carries the identification information of its parent original unit. The bound vertex data is organized into a vertex buffer, and the index data is organized into an index buffer. Finally, the vertex buffer and index buffer are uploaded to the graphics processor's video memory at once and permanently reside there. In any subsequent time step switching, spatial region of interest selection, or attribute threshold adjustment interaction, the geometric topology, instance buffer, and geometric data will not be reconstructed, achieving one-time construction and full reuse of geometric data.
[0027] Step 103: Obtain the time-series load cell attribute data, organize and configure the time-series load cell attribute data and parsing logic to obtain the attribute load and the active rank parser. The active rank parser is used to parse the parsing state of the cell at the current time step by the stable cell identifier: if it is in the current attribute load, output the compact attribute rank; if it is physically valid but has not entered the current attribute load, output the reference default state; if it is physically inactive, output the inactive state.
[0028] In this embodiment, firstly, all unit attribute data for each variable at each time step are acquired, and units whose attribute values deviate from the reference value by more than a preset threshold or whose unit states change are selected as time-series load units. The attribute values of the time-series load units are quantized and compressed: the elevation field attribute is quantized using a first precision (16-bit unsigned integer), and the conventional attribute field is quantized using a second precision (8-bit unsigned integer) to obtain quantized attribute data. The attribute loads can be organized in any of the following ways: First, the quantized attribute data is arranged continuously according to a compact attribute rank and then dictionary-compressed to form a compactly arranged attribute load. Units not included in the current time-series load do not occupy attribute rank bits, and their activity status is identified by an activity bitmask; Second, the quantized attribute data of all units are arranged in order of unit identifier, and units not included in the current time-series load are placed in place with preset placeholder values. Then, the quantized attribute data carrying placeholder values is dictionary-compressed to form attribute loads. The resulting continuous placeholder value segments help improve the dictionary compression rate. In both of the above methods, the active rank parser resolves the physical valid cells that have not entered the current time-series load to the reference default state based on the active bitmask or placeholder value. The elevation field attribute is quantized once during the preprocessing stage and resides with the geometric data, and is not repeatedly transmitted with each time step.
[0029] Simultaneously, the activity bitmask at each time step is compressed: the activity bitmask is XORed and differentially processed using the reference frame as a reference to obtain the differential bitmask; the differential bitmask is then subjected to run-length encoding or bit compression. Figure 2 The compression process generates a compressed active bitmask that is stored along with the attribute payload. The active bitmask for the current time step can be obtained by XOR reconstruction on the browser side, effectively reducing the transmission and storage volume of time-series data.
[0030] Configure a corresponding decoding contract for the attribute load of each time step and each variable, including the dequantization scaling factor and offset factor, normalization mode identifier, preset placeholder value, and color table lookup table index; set a log normalization identifier for long-tailed attributes, so that the coloring stage can perform dequantization and normalization of the corresponding mode according to the identifier, ensuring the correct coloring of long-tailed attributes.
[0031] Then, configure the active rank resolver, which can resolve the cell identifier to one of three resolution states at the current time step: when the cell is in the current attribute load, return the corresponding compact attribute rank; when the cell is physically valid but not in the current load, return the reference default state; when the cell is physically inactive, return the inactive state. The active rank resolver can be implemented in various ways, including explicit cell identifier-attribute rank mapping tables, time step active bitmasks combined with block-level cumulative rank tables, and texture lookup by the graphics processor, to adapt to application scenarios with different scales and performance requirements.
[0032] Step 104: Obtain the interaction instructions, parse and process the interaction instructions to obtain the set of state parameters to be updated. The interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions. The set of state parameters includes user interaction predicates corresponding to the interaction instructions.
[0033] In this embodiment, when a user initiates an interactive operation, various interactive commands are acquired and parsed. For a user-initiated time step switching command, the attribute payload update parameters corresponding to the target time step are parsed; for a user-initiated spatial region of interest selection command, the boundary parameters and spatial predicate parameters of the region of interest are parsed; for a user-initiated attribute threshold adjustment command, the attribute threshold range and attribute predicate parameters are parsed. These parameters are integrated to form a set of state parameters to be updated on the graphics processor side. The entire interactive response process only updates the attribute payloads, activity and rank parsing metadata, or predicate parameters accessible to the graphics processor, completely avoiding the visible set computation and reconstruction-style filtering pipeline on the central processing unit (CPU) side. It does not recalculate the visible cell set, reconstruct the geometric topology, or retransmit geometric data on the CPU side, thus avoiding reconstruction overhead from the interaction entry point.
[0034] Step 105: In the graphics processor shader, attribute addressing is performed on the vertex buffer and index buffer, bidirectional mapping relationship and active rank resolver to obtain the current resolution state, attribute rank and physical deactivation culling result.
[0035] In this embodiment, the rendering unit information in the graphics processor shader is first obtained from the vertex buffer and index buffer. Through a pre-established bidirectional mapping relationship, the stable unit identifier corresponding to the current rendering unit is obtained. This stable unit identifier is then input into the active rank parser for parsing. The active rank parser can complete the parsing in several ways: when using an explicit mapping table, the corresponding attribute rank is obtained directly by looking up the table; when using an active bitmask in conjunction with block-level cumulative rank, the corresponding block number and intra-block offset are determined based on the stable unit identifier, the state bit at the corresponding position in the state bitmap is read, and the compact attribute rank corresponding to the unit at the current time step is calculated by combining the block-level cumulative rank; when using a graphics processor to look up textures, the attribute rank is directly obtained through texture sampling. With the above addressing methods, it is unnecessary to construct a full identifier-to-attribute rank lookup table on the central processing unit side.
[0036] After parsing, the parsed state of the element at the current time step is obtained. For elements whose parsed state is in the current attribute load, their corresponding compact attribute rank is extracted; for elements whose parsed state is physically valid but not in the current attribute load, the reference default state is output, and the reference default value is directly used in subsequent coloring judgments; for elements whose parsed state is physically inactive, a removal mark is applied to obtain the physical inactive removal result.
[0037] Step 106: Perform coloring judgment processing on the current parsing state, attribute rank, attribute load, physical inactivation culling result and user interaction predicate to obtain the visible unit rendering result.
[0038] In this embodiment, firstly, based on the physical inactivation removal results, a removal operation is performed on physically inactivated cells to obtain a set of physically valid cells. Then, based on the cell's parsing state and attribute rank, combined with the decoding contract attached to the attribute payload, the current attribute value of each physically valid cell is extracted: for cells whose parsing state is in the current attribute payload, the quantized value is read from the attribute payload according to its compact attribute rank, and inverse quantization and normalization are performed according to the decoding contract. Linear or logarithmic normalization is selected based on the normalization mode identifier to obtain the final attribute value; for cells whose parsing state is physically valid but not in the current attribute payload, the reference default value is directly used as its attribute value.
[0039] Finally, the current attribute values of each unit are compared with the user interaction predicate. Units that meet the attribute threshold conditions, spatial location conditions, and temporal conditions are colored and rendered. The mapping from attribute values to color values is completed by combining the color table lookup table index, and finally the rendering result of visible units that meet the interaction conditions is obtained. The selection logic of all visible units is completed in a closed loop within the graphics processor shader, without the need for the central processing unit to rebuild the visible unit set, geometric topology, vertex buffer, index buffer, or instance buffer, achieving true zero-reconstruction interaction.
[0040] This application's embodiments effectively solve the problem of high interactive reconstruction overhead in the visualization of corner reservoir time series models on the browser side through a collaborative technical solution involving stable cell lineage, geometric one-time graphics processor residency, active rank parser, updating only the graphics processor state, and graphics processor-side attribute addressing and shading judgment. By migrating the entire interactive logic to the graphics processor for execution, the overhead of repeatedly calculating the visible set, reconstructing the geometric topology, and retransmitting geometric data on the central processing unit side in traditional reconstruction-based interactions is significantly reduced, achieving zero-reconstruction real-time interaction at the scale of millions of cells or more; under actual test conditions of 1.28 million cells with sliding threshold interaction (see details...). Figure 4 The interaction frame rate was approximately doubled, the single interaction time on the central processing unit side was reduced from approximately 37.95 milliseconds to approximately 0.01 milliseconds, and the cumulative geometric retransmission amount was reduced from approximately 5.8 gigabytes to 0.
[0041] For a comparison of the interactive performance of this application with that of traditional reconstructed baselines, please refer to the experimental results. Figure 4 The performance improvement is quantified from three dimensions: single-time filtering workload, cumulative geometric retransmission volume, and interactive frame rate.
[0042] Based on the actual test of sliding threshold interaction with 1.28 million units (test environment: Apple M4 Pro / WebGL 2), three sub-graphs are included: (a) comparison of single filtering operation time, (b) comparison of cumulative geometric retransmission, and (c) comparison of interaction frame rate, respectively comparing the performance data of this application with the reconstructive baseline.
[0043] In scenarios involving random access along the timeline and joint queries of regions of interest (ROIs) and time, the transmission and decoding advantages of this method can be found in [reference needed]. Figure 5 .
[0044] It includes two sets of subgraphs: (a) the random access scenario of the time axis. This method only decodes the attribute payload slice corresponding to the current time step each time, while the single bit stream without index must be decoded again from the starting time step. The decoding workload of this method is significantly reduced; (b) the joint query scenario of spatial region of interest and time. This method only transmits the intersection of the region of interest and the temporal payload unit. The smaller the region of interest, the more it saves compared to the baseline of "transmitting the whole time step and then pruning".
[0045] In the above Figure 1 Based on the above, this application embodiment also provides a schematic diagram of the implementation process for obtaining stable unit identifiers and bidirectional mapping relationships. For example... Figure 2 As shown, steps 201 to 204 are included: Step 201: Obtain the original cell numbering information of the corner reservoir grid, perform global unique identifier allocation processing on the numbering information, and obtain the stable cell identifier corresponding to each original cell.
[0046] In this embodiment, the numbering information of all original cells in the corner reservoir grid is obtained, including the row, column, and layer logical numbers and physical numbers of each cell. Following a globally unified numbering rule, each original cell is assigned a globally unique and permanently stable cell identifier. Once assigned, this identifier remains fixed throughout all subsequent time step switching, spatial region of interest selection, attribute threshold adjustment, and other interactive processes. It will not change due to changes in cell activity, attribute values, or user interactions, serving as a unique identifier for each original cell throughout the entire visualization process.
[0047] Step 202: Obtain the rendering unit sequence information of the graphics processor, and perform association processing between the rendering unit sequence and the stable unit identifier to obtain a positive mapping relationship.
[0048] In this embodiment, rendering unit sequence information from the graphics processor (GPU) is obtained. This sequence information includes the arrangement order and index information of all units to be rendered in the GPU rendering pipeline. Each rendering unit index in the rendering unit sequence is associated with its corresponding stable unit identifier, establishing a forward mapping relationship from rendering unit index to stable unit identifier. Through this forward mapping relationship, the GPU can quickly find the stable unit identifier of its corresponding original unit during the rendering process based on the currently processing rendering unit index.
[0049] Step 203: Perform reverse association processing on the stable unit identifier and the rendering unit index to obtain the reverse mapping relationship.
[0050] In this embodiment, each stable unit identifier is reverse-associated with its corresponding rendering unit index to establish a reverse mapping relationship from the stable unit identifier to the rendering unit index. This reverse mapping relationship allows for the rapid location of any original unit's corresponding position in the graphics processor's rendering pipeline based on its stable unit identifier, providing reverse addressing capabilities for targeted unit state queries and rendering control.
[0051] Step 204: Persist and solidify the forward and reverse mapping relationships to obtain a bidirectional mapping relationship.
[0052] In this embodiment, the constructed forward and reverse mapping relationships are persistently solidified to form a final bidirectional mapping relationship. Once solidified, this bidirectional mapping relationship remains unchanged throughout all subsequent time step switching, region of interest selection, and threshold interaction processes. It will not be rebuilt or modified due to any user interaction or time step changes, providing a stable and reliable unit identity mapping foundation for the entire visualization process and ensuring the consistency and accuracy of attribute addressing.
[0053] This application establishes a stable identity correspondence between graphics processor rendering units and original reservoir units by persistently assigning globally unique stable unit identifiers and bidirectional mapping. This mapping relationship remains unchanged throughout all time steps and interactions, providing a reliable identity mapping basis for subsequent attribute addressing on the graphics processor side. This avoids addressing confusion caused by changes in unit activity and ensures the consistency and accuracy of attribute access under dynamic temporal changes.
[0054] In some embodiments, the geometric data and stable cell identifiers of the corner reservoir grid are preprocessed and bound to obtain vertex buffers and index buffers, including: obtaining vertex coordinate data and cell topology connection data of the corner reservoir grid, and performing geometric unfolding processing on the vertex coordinate data and cell topology connection data to obtain geometric vertex data and index data.
[0055] Specifically, the process involves acquiring the 3D coordinates of all vertices in the corner reservoir mesh, as well as the topological connectivity data between the elements. For each corner hexahedral element, the coordinates of its eight vertices and the face connections are fully unfolded. Following the requirements of the graphics processor's rendering pipeline, the geometric information of each element is broken down into independent vertex data, and corresponding index data is generated to describe the connectivity and rendering order between vertices. Through this geometric unfolding process, the logical corner mesh data is converted into geometric vertex and index data that can be directly rendered by the graphics processor.
[0056] For complex geological structures such as faults and pinch-outs, fault-aware segmentation is performed to divide the area into several independent geological structural blocks. For each block, a corresponding anchor point geometry is generated. The anchor point geometry is then bound to the stable unit identifier of its respective unit and uniformly incorporated into the geometric vertex data and index data system. During rendering, fault and pinch-out areas can be directly drawn based on the anchor point geometry, current time step attributes, and active bitmask, eliminating the need to reconstruct a 3D mesh for temporal changes in fault morphology, further reducing geometric reconstruction overhead.
[0057] Furthermore, attribute binding processing is performed on the geometric vertex data and the stable unit identifier to obtain vertex attribute data.
[0058] Specifically, the unfolded geometric vertex data is attribute-bound to the stable unit identifier corresponding to its original unit. This ensures that each vertex data contains not only coordinate information but also the stable unit identifier of its original unit as a vertex attribute. All vertices belonging to the same original unit are bound to the same stable unit identifier, ensuring that during rendering, all vertices in the same unit can be associated with the same original unit's identity, providing a foundation for subsequent attribute addressing and unit state determination.
[0059] Furthermore, the vertex attribute data is buffered and organized to obtain the vertex buffer.
[0060] Specifically, all vertex attribute data bound to stable unit identifiers are organized and arranged according to the graphics processor's standard buffer format to form contiguous vertex data blocks, generating a vertex buffer that meets the graphics processor's rendering requirements. This vertex buffer contains the coordinate information of all rendering units and their corresponding stable unit identifier information.
[0061] Furthermore, the index data is buffered to obtain the index buffer.
[0062] Specifically, the index data obtained from geometric unfolding is organized and arranged according to the standard index buffer format of the graphics processor to form continuous index data blocks, generating an index buffer. After the vertex buffer and index buffer are generated, they are uploaded to the graphics processor's video memory in one go and permanently reside there. In all subsequent time step switching, spatial region of interest selection, attribute threshold adjustment and other interactive processes, the geometric topology is not rebuilt, the instance buffer is not rebuilt, and no geometric data is retransmitted, achieving one-time upload and permanent reuse of geometric data.
[0063] This application's embodiments achieve one-time uploading and permanent retention of geometric data by binding stable unit identifiers with geometric vertex data and organizing them into a standard graphics processor buffer. This completely avoids repeated geometric reconstruction and data transmission during interaction; geometric data only needs to be processed once and can be reused in all interactions, significantly reducing the bandwidth consumption of data transmission between the graphics processor and the central processing unit, and significantly reducing interaction latency.
[0064] In some embodiments, acquiring time-series load cell attribute data, organizing and configuring the time-series load cell attribute data and parsing logic to obtain attribute loads and an activity rank parser includes: acquiring all cell attribute data, filtering all cell attribute data, and obtaining time-series load cells whose attribute values deviate from reference values by more than a threshold or whose states have changed.
[0065] Specifically, attribute data for all cells at each time step and for each variable is acquired, and cell filtering is performed for each time step. Cells whose attribute values deviate from the reference default value by more than a preset threshold, as well as cells whose physical state has changed, are selected as the time-series load cells for that time step. This filtering method retains only cells with significant differences from the reference state, greatly reducing the amount of attribute data that needs to be transmitted and stored, and avoiding duplicate transmission of full-mesh attribute data.
[0066] Furthermore, the attribute values of the time-series load cells are processed into a compact rank arrangement to obtain the attribute loads.
[0067] Specifically, the attribute values of the selected time-series load cells are arranged and organized according to compact attribute ranks, and the time-series load cells are numbered in consecutive order, with each time-series load cell corresponding to a unique compact attribute rank. Before arrangement, the attribute data undergoes mixed-precision quantization: elevation field attributes are quantized using 16-bit unsigned integer precision, and conventional attribute fields are quantized using 8-bit unsigned integer precision, resulting in quantized attribute data. In one implementation, the quantized attribute data arranged consecutively according to compact attribute ranks is dictionary-compressed to form the final attribute load; cells not included in the current time-series load do not occupy rank bits in the attribute load, and their activity status is identified by an activity bitmask. The activity rank parser uses this to parse them as the reference default state, and the reference default value is directly used during coloring without needing to read the attribute load. In another implementation, the quantization attribute data of all units are arranged in order of unit identifier. Units that have not entered the current time-series load are marked with a preset placeholder value and identified as the reference default state. Then, the quantization attribute data carrying the placeholder value is subjected to dictionary compression to further compress the data volume and form the final attribute load. Since the units that have not entered the time-series load are often continuously distributed in space, the continuous repeating segments formed by their placeholder values can be efficiently compressed by dictionary encoding.
[0068] Simultaneously, the activity bitmask corresponding to the time-series payload is compressed: using the activity bitmask of the reference frame as a reference, the activity bitmask of the current time step is XORed and differentially processed to obtain the differential bitmask; the differential bitmask is then subjected to run-length encoding or bit compression. Figure 2 The compression process yields a compressed active bitmask, which is stored along with the attribute payload. During browser loading, the complete active bitmask for the current time step can be reconstructed by XORing the reference frame with the differential bitmask, effectively reducing the transmission and storage size of the timing bitmask.
[0069] A corresponding decoding contract is configured for the attribute payload of each time step and each variable, and is sent along with the attribute payload. The decoding contract includes the dequantization scaling factor and offset factor, the normalization mode identifier, the preset placeholder value, and the color table lookup table index. For attributes that follow a long-tail distribution, a logarithmic normalization identifier is set so that the coloring stage can perform logarithmic mode dequantization and normalization according to the identifier, ensuring the coloring resolution accuracy of the long-tail attribute range.
[0070] Furthermore, the parsing rules for the unit identifier are obtained, and the parsing rules are configured to obtain the active rank parser.
[0071] Specifically, the parsing rules for cell identifiers are obtained, configured, and an active rank parser is generated. This active rank parser can parse the input cell identifier into three parsing states at the current time step: when the cell corresponding to the cell identifier is in the current attribute load, it returns the compact attribute rank corresponding to the cell; when the cell is physically valid but not in the current attribute load, it returns the reference default state and directly uses the reference default value as the attribute value of the cell; when the cell is physically inactive, it returns an inactive state flag.
[0072] The active rank parser can be implemented in various ways, including explicit cell identifier-attribute rank mapping tables, time-step active bitmasks combined with block-level cumulative rank tables, and GPU texture lookup, to adapt to application scenarios with different scales and performance requirements. When using the active bitmask combined with block-level cumulative rank implementation, the block number and intra-block offset are determined based on the stable cell identifier, the state bits in the state bitmap are read, and the attribute rank is calculated by combining them with the block-level cumulative rank, eliminating the need to build a full identifier-to-attribute rank lookup table on the CPU side.
[0073] This application's embodiments effectively solve the attribute rank instability problem caused by time-series inactive cells in corner reservoirs by filtering time-series load cells and organizing attribute loads according to compact rank, combined with an active rank parser supporting three parsing states. Only cell attributes that differ from the reference state are transmitted, significantly reducing the amount of data transmitted during time-step switching; the active rank parser enables the graphics processing unit (GPU) to autonomously complete cell state judgment and attribute addressing without the need for central processing unit intervention.
[0074] In some embodiments, obtaining an interaction instruction and parsing the interaction instruction to obtain a set of state parameters to be updated includes: obtaining a time step switching instruction initiated by the user, parsing the time step switching instruction, and obtaining the attribute load update parameters corresponding to the target time step.
[0075] Specifically, when a user initiates a time step switching command by dragging the timeline or clicking the time step switching button in the browser interface, the command is acquired, parsed, and the target time step selected by the user is determined. Based on the target time step, the corresponding attribute payload update parameters are extracted, including the attribute payload identifier to be loaded at that time step, the compressed active bitmask, the rank-parsed metadata, the decoding contract, and other information. During time step switching, only the lightweight attribute payloads and associated metadata of the target time step are requested; no geometric data needs to be re-requested or transmitted.
[0076] Furthermore, the system obtains the spatial region of interest (ROI) selection command initiated by the user, parses and processes the ROI selection command, and obtains the boundary parameters and spatial predicate parameters of the ROI.
[0077] Specifically, when a user initiates a spatial region of interest (ROI) selection command in the 3D view by selecting with a bounding box or drawing polygons, the command is acquired, parsed, and its 3D spatial boundary parameters are extracted. These parameters include the minimum and maximum coordinate ranges and spatial shape descriptions of the selected region. Simultaneously, corresponding spatial predicate parameters are generated based on these boundary parameters. These parameters are used by the graphics processor to determine whether a rendering unit is located within the user-selected ROI. When responding to joint spatial and temporal interactions, only unit data within the intersection of the ROI and the temporal payload is transmitted, further reducing the amount of data transmitted.
[0078] Furthermore, the system obtains the attribute threshold adjustment command initiated by the user, parses and processes the attribute threshold adjustment command, and obtains the attribute threshold range and attribute predicate parameters.
[0079] Specifically, when a user initiates an attribute threshold adjustment command via a slider, input of a numerical value, or other means, the command is acquired, parsed, and the minimum and maximum values of the attribute set by the user are extracted to form the attribute threshold range. Simultaneously, corresponding attribute predicate parameters are generated based on the attribute threshold range, which are used on the graphics processor side to determine whether the unit's attribute value falls within the user-defined threshold range.
[0080] Furthermore, the attribute load update parameters, boundary parameters, spatial predicate parameters, attribute threshold range, and attribute predicate parameters are integrated to obtain the set of state parameters to be updated.
[0081] Specifically, the attribute payload update parameters, region of interest boundary parameters, spatial predicate parameters, attribute threshold ranges, and attribute predicate parameters obtained from the above analysis are integrated to form a set of state parameters to be updated on the graphics processor side. Throughout the entire interactive response process, the browser only updates the attribute payloads, activity and rank parsing metadata, or predicate parameters accessible to the graphics processor. It completely avoids entering the visible set computation and reconstruction-style filtering pipeline on the central processing unit (CPU) side, does not recalculate the visible cell set, rebuild the geometric topology, or retransmit geometric data on the CPU side, thus completely avoiding the geometric reconstruction overhead on the CPU side.
[0082] This application's embodiments minimize the computational load of interactive responses by classifying and parsing various interactive commands and updating only the state parameters on the graphics processor side. Time step switching only requests lightweight attribute payloads, and spatial and threshold interactions only update predicate parameters, completely avoiding the visible set computation and reconstruction pipeline on the central processing unit side. This achieves a truly lightweight interactive response mechanism, ensuring the immediacy and smoothness of interactive operations.
[0083] In some embodiments, attribute addressing resolution processing is performed on the vertex buffer and index buffer, the bidirectional mapping relationship and the active rank resolver to obtain the current resolution state, attribute rank and physical deactivation culling result, including: obtaining rendering unit information in the vertex buffer and index buffer, performing mapping processing on the rendering unit information and the bidirectional mapping relationship to obtain stable unit identifiers.
[0084] Specifically, in the graphics processing unit (GPU) rendering pipeline, the current rendering unit information is obtained from the vertex buffer and index buffer, and mapping is performed according to a pre-established and fixed bidirectional mapping relationship. Through the forward mapping relationship, the stable unit identifier of the corresponding original unit is found by looking up the index of the currently processed rendering unit. This mapping process is completed directly at the GPU, without any data interaction with the central processing unit, ensuring the efficiency of the addressing process.
[0085] Furthermore, the stable unit identifier and the active rank parser are parsed to obtain the parsed state.
[0086] Specifically, the mapped stable element identifier is input into a pre-configured active rank parser for parsing. The active rank parser determines the state of the stable element identifier based on the active metadata and rank mapping information of the current time step, obtaining the parsed state of the element at the current time step. The parsed state is divided into three categories: the element is in the current attribute load, the element is physically valid but not in the current attribute load, and the element is physically inactive.
[0087] When using an active bitmask combined with block-level cumulative rank, the block number and intra-block offset of a stable cell are first determined based on its identifier. The status bit at the corresponding offset in the status bitmap is then read to determine if the cell is active. If active, the compact attribute rank of that cell is calculated by combining the block-level cumulative rank value. This method eliminates the need to construct a full mapping table from cell identifiers to attribute ranks, significantly reducing metadata size.
[0088] Furthermore, the attribute rank extraction process is performed on the elements whose parsing state is in the current attribute load to obtain the compact attribute rank.
[0089] Specifically, for elements whose resolved state is within the current attribute load, the compact attribute rank corresponding to that element is extracted from the output of the active rank resolver. This compact attribute rank is used to accurately read the specific attribute value of that element at the current time step from the attribute load, enabling random access within the compactly arranged attribute loads. For elements whose resolved state is physically valid but not within the current attribute load, a pre-set reference default value is directly used as their attribute value, without needing to read the attribute load.
[0090] Furthermore, the cells whose analytical state is physically inactive are marked for removal to obtain the physical inactivation removal results.
[0091] Specifically, for units whose parsing status is physically inactive, a culling mark process is performed to obtain the physically inactive culling result. Units marked as physically inactive will be directly culled in subsequent rendering processes and will not participate in shading calculations and drawing. By completing the culling of physically inactive units at the graphics processor level, the overhead of transmitting inactive units to the central processing unit for processing is avoided, achieving unit filtering entirely at the graphics processor level.
[0092] This application embodiment performs stable cell mapping, active rank resolution, attribute rank extraction, and physical deactivation removal within the graphics processor shader, thus offloading the attribute addressing logic to the graphics processor. This eliminates the need for the central processing unit (CPU) to participate in cell filtering operations, fully utilizing the parallel computing capabilities of the graphics processor to achieve parallel attribute addressing and state determination for millions of cells. Under test conditions, this significantly improves attribute addressing efficiency compared to serial processing by the CPU.
[0093] In some embodiments, coloring judgment processing is performed on the current parsing state, attribute rank, attribute load, physical deactivation culling result and user interaction predicate to obtain visible cell rendering result, including: culling physically deactivated cells in the physical deactivation culling result to obtain a set of physically valid cells.
[0094] Specifically, the first step is to perform physical deactivation culling. Based on the results of the physical deactivation culling, units marked as physically deactivated are culled. These units skip all subsequent shading calculations and drawing operations and do not participate in the final rendering output. Through culling, a complete set of physically valid units is obtained. Subsequent attribute readings and shading calculations are performed only on these valid units, avoiding unnecessary computational overhead for invalid units.
[0095] Furthermore, attribute values are extracted from the attribute rank and attribute load to obtain the current attribute value.
[0096] Specifically, the next step is attribute value extraction. For physically valid units, attribute values are extracted based on their parsed state and attribute rank. For units whose parsed state is within the current attribute payload, the corresponding quantized attribute value is read from the attribute payload based on their compact attribute rank. Inverse quantization is then performed using the decoding contract attached to the attribute payload. Linear or logarithmic normalization is selected according to the normalization mode identifier to obtain the final current attribute value. For units whose parsed state is physically valid but not within the current attribute payload, a pre-set reference default value is directly used as their attribute value.
[0097] Each time step or variable's attribute payload comes with a built-in decoding contract, including dequantization scaling and offset coefficients, normalization mode identifiers, preset placeholder values, and color lookup table indexes. When extracting attribute values, dequantization and normalization are performed according to the decoding contract to obtain the final current attribute value. For long-tailed distributed attributes, logarithmic normalization is used to ensure color discrimination in low-value ranges and avoid color distortion of long-tail data.
[0098] Furthermore, a threshold judgment is performed on the current attribute value and the user interaction predicate to obtain a set of units that meet the attribute threshold conditions.
[0099] Specifically, a threshold judgment process is then performed. The current attribute value of each unit is compared with the user interaction predicate. The user interaction predicate includes time conditions, spatial region of interest conditions, and attribute threshold range conditions. For each unit, the conditions are judged in turn: whether the unit is within the valid range of the current time step, whether it is located within the spatial region of interest selected by the user, and whether the attribute value falls within the threshold range set by the user. Only units that simultaneously satisfy all interaction predicate conditions are included in the set of qualified units.
[0100] Furthermore, the set of cells that meet the attribute threshold conditions is subjected to color rendering processing to obtain the rendering result of the visible cells.
[0101] Specifically, the final step is shading and rendering. Shading and rendering are performed on the set of units that meet the attribute threshold conditions, spatial location conditions, and temporal conditions. The unit's attribute value is mapped to the corresponding color value using a color lookup table index, and combined with lighting calculations and transparency settings, the final shading of each unit is completed. All selection logic for visible units is completed within the graphics processor shader, eliminating the need to rebuild the visible unit set, geometric topology, vertex buffer, index buffer, or instance buffer on the central processing unit side. This achieves true zero-reconstruction interaction, ensuring the real-time performance and smoothness of the interaction process.
[0102] This application embodiment achieves full GPU-based visible cell selection by completing the entire pipeline of physical deactivation culling, attribute value extraction, threshold judgment, and shading rendering on the GPU side. All cell filtering logic is completed in parallel within the shader, eliminating the need for the central processing unit to reconstruct the visible cell set. This effectively alleviates the CPU bottleneck during the interaction process and improves the real-time interactive experience of visualizing large-scale corner reservoir models on the browser side.
[0103] While this application provides the method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on conventional or non-inventive labor. The order of steps listed in this embodiment is merely one possible execution order among many and does not represent the only execution order. In actual device or client product execution, the methods shown in this embodiment or the accompanying drawings can be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment).
[0104] like Figure 3 As shown in the illustration, this application also provides a visualization rendering apparatus 300. The apparatus includes: The acquisition module 301 is used to acquire the original cell information of the corner reservoir grid, perform stable spectrum construction processing on the original cell information and the rendered cells, and obtain stable cell identifiers and bidirectional mapping relationships.
[0105] The processing module 302 is used to preprocess and bind the geometric data and stable cell identifiers of the corner reservoir grid to obtain the vertex buffer and index buffer.
[0106] The acquisition module 301 is also used to acquire time-series load unit attribute data, organize and configure the time-series load unit attribute data and parsing logic to obtain attribute loads and an active rank parser. The active rank parser is used to parse the parsing state of the unit at the current time step by the stable unit identifier: if it is in the current attribute load, it outputs the compact attribute rank; if it is physically valid but has not entered the current attribute load, it outputs the reference default state; if it is physically inactive, it outputs the inactive state.
[0107] The acquisition module 301 is also used to acquire interaction instructions, parse and process the interaction instructions to obtain a set of state parameters to be updated. The interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions. The set of state parameters includes user interaction predicates corresponding to the interaction instructions.
[0108] The processing module 302 is also used to perform attribute addressing and parsing processing on the vertex buffer and index buffer, bidirectional mapping relationship and active rank parser in the graphics processor shader to obtain the current parsing state, attribute rank and physical deactivation culling result.
[0109] The rendering module 303 is used to perform coloring judgment processing on the current parsing state, attribute rank, attribute load, physical deactivation culling result and user interaction predicate to obtain the rendering result of visible unit.
[0110] Some modules in the apparatus described in this application can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc., that perform a specific task or implement a specific abstract data type. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0111] The apparatus or module described in the above embodiments can be implemented by a computer chip or physical entity, or by a product with a certain function. For ease of description, the above apparatus is described by dividing it into various modules according to their functions. When implementing the embodiments of this application, the functions of each module can be implemented in one or more software and / or hardware. Of course, a module that implements a certain function can also be implemented by combining multiple sub-modules or sub-units.
[0112] The methods, apparatus, or modules described in this application can be implemented in a computer-readable program code manner. The controller can be implemented in any suitable manner, such as a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of a memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code manner, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included within it for implementing various functions can also be considered as structures within the hardware component. Alternatively, the device used to implement various functions can be viewed as either a software module implementing the method or a structure within a hardware component.
[0113] This application also provides an apparatus, the apparatus comprising: a processor; a memory for storing processor-executable instructions; wherein, when the processor executes the executable instructions, it implements the method described in this application.
[0114] This application also provides a non-volatile computer-readable storage medium storing a computer program or instructions thereon, which, when executed, enables the method described in this application embodiment to be implemented.
[0115] Furthermore, in the various embodiments of this application, each functional module can be integrated into one processing module, or each module can exist independently, or two or more modules can be integrated into one module.
[0116] The aforementioned storage media include, but are not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), Cache, Hard Disk Drive (HDD), or Memory Card. The memory can be used to store computer program instructions.
[0117] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary hardware. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product, or it can be embodied in the process of data migration. The computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, mobile terminal, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.
[0118] The various embodiments described in this specification are presented in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on its differences from other embodiments. All or part of this application can be used in numerous general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, mobile communication terminals, multiprocessor systems, microprocessor-based systems, programmable electronic devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices, etc.
[0119] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit this application. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of this application.
Claims
1. A visualization rendering method, characterized in that, include: Obtain the original cell information of the corner reservoir grid, and perform stable spectrum construction processing on the original cell information and the rendering cell to obtain stable cell identifiers and bidirectional mapping relationships; The geometric data of the corner reservoir grid and the stable cell identifier are preprocessed and bound to obtain vertex buffer and index buffer; Acquire the time-series load cell attribute data, organize and configure the time-series load cell attribute data and parsing logic to obtain the attribute load and the active rank parser. The active rank parser is used to parse the parsing state of the cell at the current time step by the stable cell identifier: if it is in the current attribute load, output the compact attribute rank; if it is physically valid but has not entered the current attribute load, output the reference default state; if it is physically inactive, output the inactive state. The interaction instructions are obtained and parsed to obtain a set of state parameters to be updated. The interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions. The set of state parameters includes user interaction predicates corresponding to the interaction instructions. In the graphics processor shader, attribute addressing and parsing are performed on the vertex buffer and index buffer, the bidirectional mapping relationship and the active rank parser to obtain the current parsing state, attribute rank and physical deactivation culling result; The current parsing state, the attribute rank, the attribute load, the physical inactivation culling result, and the user interaction predicate are subjected to coloring judgment processing to obtain the visible unit rendering result.
2. The method according to claim 1, characterized in that, The process of obtaining the original cell information of the corner reservoir grid, and performing stable spectrum construction processing on the original cell information and the rendered cells to obtain stable cell identifiers and bidirectional mapping relationships includes: Obtain the original cell numbering information of the corner reservoir grid, perform global unique identifier allocation processing on the numbering information, and obtain the stable cell identifier corresponding to each original cell; Obtain the rendering unit sequence information of the graphics processor, and perform association processing between the rendering unit sequence and the stable unit identifier to obtain a positive mapping relationship; The stable unit identifier and the rendering unit index are reverse-associated to obtain a reverse mapping relationship; The forward mapping relationship and the reverse mapping relationship are persisted and solidified to obtain a bidirectional mapping relationship.
3. The method according to claim 1, characterized in that, The preprocessing and binding of the geometric data of the corner reservoir grid and the stable cell identifier to obtain vertex buffers and index buffers includes: Obtain vertex coordinate data and cell topology connection data of the corner reservoir grid, and perform geometric unfolding processing on the vertex coordinate data and cell topology connection data to obtain geometric vertex data and index data; The geometric vertex data and the stable unit identifier are subjected to attribute binding processing to obtain vertex attribute data; The vertex attribute data is buffered to obtain a vertex buffer; The index data is buffered to obtain the index buffer.
4. The method according to claim 1, characterized in that, The process of acquiring time-series load cell attribute data, organizing and configuring the time-series load cell attribute data and parsing logic to obtain attribute loads and an activity rank parser includes: All unit attribute data are obtained, and the all unit attribute data are filtered to obtain time-series load units whose attribute values deviate from the reference value by more than a threshold or whose state changes. The attribute values of the time-series load cells are processed into a compact rank arrangement to obtain the attribute loads; Obtain the parsing rules for the unit identifier, configure the parsing rules, and obtain the active rank parser.
5. The method according to claim 1, characterized in that, The step of obtaining the interaction command involves parsing and processing the interaction command to obtain a set of state parameters to be updated, including: Obtain the time step switching command initiated by the user, parse and process the time step switching command to obtain the attribute load update parameters corresponding to the target time step; Obtain the spatial region of interest selection instruction initiated by the user, parse the spatial region of interest selection instruction, and obtain the boundary parameters and spatial predicate parameters of the region of interest; Obtain the attribute threshold adjustment command initiated by the user, parse the attribute threshold adjustment command to obtain the attribute threshold range and attribute predicate parameters; The attribute load update parameters, the boundary parameters, the spatial predicate parameters, the attribute threshold range, and the attribute predicate parameters are integrated to obtain a set of state parameters to be updated.
6. The method according to claim 1, characterized in that, The step of performing attribute addressing and parsing on the vertex buffer and index buffer, the bidirectional mapping relationship, and the active rank parser to obtain the current parsing state, attribute rank, and physical inactivation culling results includes: Obtain rendering unit information from the vertex buffer and index buffer, perform mapping processing on the rendering unit information and the bidirectional mapping relationship, and obtain stable unit identifiers; The stable unit identifier and the active rank parser are parsed to obtain the parsing state; The attribute rank extraction process is performed on the cells whose parsing state is in the current attribute load to obtain the compact attribute rank; The cells whose analytical state is physically inactive are marked for removal to obtain the physical inactivation removal results.
7. The method according to claim 1, characterized in that, The step of performing coloring judgment processing on the current parsing state, the attribute rank, the attribute load, the physical deactivation culling result, and the user interaction predicate to obtain the visible unit rendering result includes: The physically inactive units in the physical inactivation removal results are removed to obtain a set of physically effective units; The attribute rank and the attribute load are subjected to attribute value extraction processing to obtain the current attribute value; A threshold judgment is performed on the current attribute value and the user interaction predicate to obtain a set of units that meet the attribute threshold conditions; The set of units that meet the attribute threshold conditions is subjected to color rendering processing to obtain the rendering result of visible units.
8. A visualization rendering device, characterized in that, include: The acquisition module is used to acquire the original cell information of the corner reservoir grid, and to perform stable spectrum construction processing on the original cell information and the rendering cell to obtain stable cell identifiers and bidirectional mapping relationships. The processing module is used to preprocess and bind the geometric data of the corner reservoir grid and the stable cell identifier to obtain the vertex buffer and the index buffer. The acquisition module is further configured to acquire time-series load unit attribute data, organize and configure the time-series load unit attribute data and parsing logic to obtain attribute loads and an active rank parser. The active rank parser is used to parse the parsing state of the unit at the current time step based on the stable unit identifier: if it is in the current attribute load, it outputs the compact attribute rank; if it is physically valid but has not entered the current attribute load, it outputs the reference default state; if it is physically inactive, it outputs the inactive state. The acquisition module is further configured to acquire interaction instructions, parse and process the interaction instructions to obtain a set of state parameters to be updated, the interaction instructions include user-initiated time step switching instructions, spatial region of interest selection instructions, and attribute threshold adjustment instructions, and the set of state parameters includes user interaction predicates corresponding to the interaction instructions; The processing module is also used to perform attribute addressing and parsing processing on the vertex buffer and index buffer, the bidirectional mapping relationship and the active rank parser in the graphics processor shader to obtain the current parsing state, attribute rank and physical deactivation culling result; The rendering module is used to perform coloring judgment processing on the current parsing state, the attribute rank, the attribute load, the physical deactivation culling result, and the user interaction predicate to obtain the visible unit rendering result.
9. A computer device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 7.
