CN116452735A - Octree-based data processing method, octree-based data processing device and computer-readable storage medium - Google Patents

Octree-based data processing method, octree-based data processing device and computer-readable storage medium Download PDF

Info

Publication number
CN116452735A
CN116452735A CN202310341285.4A CN202310341285A CN116452735A CN 116452735 A CN116452735 A CN 116452735A CN 202310341285 A CN202310341285 A CN 202310341285A CN 116452735 A CN116452735 A CN 116452735A
Authority
CN
China
Prior art keywords
node
data
octree
lod
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310341285.4A
Other languages
Chinese (zh)
Inventor
钟权
陈志广
卢宇彤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202310341285.4A priority Critical patent/CN116452735A/en
Publication of CN116452735A publication Critical patent/CN116452735A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

The invention relates to the technical field of data processing, in particular to a data processing method and device based on octree and a computer readable storage medium, wherein the method comprises the following steps: obtaining the maximum data resolution of the data of the to-be-stored volume; based on the maximum data resolution, decreasing the data resolution of each level in the data of the to-be-stored volume from bottom to top to obtain LOD volume data; inputting LOD volume data into a preset octree model, and performing thinning treatment on the LOD volume data layer by layer downwards at the root node of the octree model to a leaf layer to obtain an LOD sparse octree; and when a data processing instruction aiming at a target node in the LOD sparse octree is received, acquiring a node number corresponding to the target node, and jumping to the target node according to the node number to execute data processing operation. The problem of how to improve the data processing efficiency of the coefficient octree in a large-scale data processing scene is solved.

Description

Octree-based data processing method, octree-based data processing device and computer-readable storage medium
Technical Field
The present invention relates to the field of data processing technologies, and in particular, to a data processing method and apparatus based on octree, and a computer readable storage medium.
Background
Octree (Octree) is a tree data structure for describing a three-dimensional space, and the principle is that data of the space is stored in a map or an array according to 3D coordinates, so that quick search and query of data in a large space can be realized.
In the related art, sparse octrees (Sparse Voxel Octree, SVO) are generally used to achieve the effect of reducing the memory footprint when data storage is performed based on octree data structures. While SVO is implemented by ray casting the geometry of the voxel representations stored in the octree, it can reduce the memory footprint of the original octree data structure to some extent, but when the storage depth of SVO exceeds 16 layers, the data reading or storage speed becomes very slow. This makes SVO difficult to adapt to large-scale data processing scenarios.
The foregoing is provided merely for the purpose of facilitating understanding of the technical solutions of the present invention and is not intended to represent an admission that the foregoing is prior art.
Disclosure of Invention
The invention mainly aims to provide a data processing method based on octrees, which aims to solve the problem of how to improve the data processing efficiency of coefficient octrees in a large-scale data processing scene.
In order to achieve the above object, the present invention provides a data processing method based on octree, the method comprising:
obtaining the maximum data resolution of the data of the to-be-stored volume;
based on the maximum data resolution, decreasing the data resolution of each level in the data of the to-be-stored volume from bottom to top to obtain LOD volume data;
inputting the LOD body data into a preset octree model, and carrying out sparsification treatment on the LOD body data layer by layer downwards at the root node of the octree model to a leaf layer to obtain an LOD sparse octree, wherein each non-empty node in the LOD sparse octree is provided with different node numbers;
and when a data processing instruction aiming at a target node in the LOD sparse octree is received, acquiring the node number corresponding to the target node, and jumping to the target node according to the node number to execute data processing operation.
Optionally, the step of obtaining LOD volume data includes, based on the maximum data resolution, decreasing data resolution of each level in the to-be-stored volume data from bottom to top:
taking the maximum data resolution as the resolution of the lowest layer data of the volume to be stored, gradually decreasing the resolution to the uppermost layer of the data of the volume to be stored layer by layer, and obtaining the LOD volume data;
The data resolution of the next level in the LOD volume data is twice the data resolution of the adjacent previous level, the data quantity between the levels is the same, and the data resolution of the uppermost level is the preset minimum resolution of the data of the to-be-stored volume in the storage space.
Optionally, the step of inputting the LOD volume data into a preset octree model, and performing a thinning process on the LOD volume data layer by layer down to a leaf layer at a root node of the octree model to obtain the LOD sparse octree includes:
inputting the LOD volume data to a root node of the octree model;
determining a voxel sparsity in the root node;
and based on the voxel sparsity, performing sparsification processing on the LOD volume data layer by layer downwards until a leaf layer to obtain the LOD sparse octree.
Optionally, based on the voxel sparsity, performing a layer-by-layer downward thinning treatment on the LOD volume data to a leaf layer, and obtaining the LOD sparse octree includes:
determining whether the voxel sparsity of the root node is greater than a preset threshold;
if yes, distributing LOD volume data in the root node to eight child nodes positioned at the next level of the octree model;
Determining whether the voxel sparsity in each child node is greater than the preset threshold;
if yes, the LOD volume data in the child nodes are distributed to eight child nodes located in the next level of the octree model again until the LOD volume data in each child node in the current level is smaller than the preset threshold value, and the current level is used as the leaf layer to obtain the LOD sparse octree.
Optionally, after the step of inputting the LOD volume data to the root node of the octree model, the method further includes:
and marking each non-empty node in the octree model downwards layer by layer at the root node to obtain the node number of the non-empty node.
Optionally, the step of marking prefix bits of each non-empty node in the octree model layer-by-layer down at the root node includes:
acquiring the data resolution in the nodes of the current level;
determining the node number according to the level number of the node and the data resolution;
filling the node number into the prefix bit of the non-null node;
and jumping to the next level, and returning to execute the step of acquiring the data resolution in the nodes in the current level until the prefix bit of each non-empty node in the octree model has the node number.
Optionally, the jumping to the target node according to the node number to perform a data processing operation includes:
determining whether the node number has a corresponding target node address in the LOD sparse octree;
if the node offset exists, determining the node offset between the current node and the target node according to the target node address;
and according to the node offset, jumping from the current node to the level of the target node, and executing the data processing operation on the LOD volume data.
Optionally, before the step of jumping from the current node to the level of the target node according to the node offset and reading the LOD volume data, the method further includes:
determining whether the node offset is less than a preset offset threshold;
if yes, executing the step of jumping from the current node to the level of the target node according to the node offset, and executing the data processing operation on the LOD volume data;
if not, storing the node offset into a preset jump offset block linked list.
In addition, to achieve the above object, the present invention also provides an octree-based data processing apparatus including: the data processing system comprises a memory, a processor and an octree-based data processing program stored on the memory and capable of running on the processor, wherein the octree-based data processing program realizes the steps of the octree-based data processing method when being executed by the processor.
In addition, in order to achieve the above object, the present invention also provides a computer-readable storage medium having stored thereon an octree-based data processing program which, when executed by a processor, implements the steps of the octree-based data processing method as described above.
The embodiment of the invention provides a data processing method, a data processing device and a computer readable storage medium based on octree, which are used for storing volume data by constructing a sparse octree with an LOD structure, so that the volume data is stored in the sparse octree with the LOD structure, and when a data processing instruction of the volume data stored in a node of a target level which is not adjacent to the current level in the LOD sparse octree is received, the volume data in the node of another level can be directly skipped to be acquired for corresponding processing, and the volume data can be recursively processed up or down to the target level layer by layer. Therefore, the SVO can quickly read or store data in a large-scale data processing scene.
Drawings
FIG. 1 is a schematic diagram of the architecture of a hardware operating environment of an octree-based data processing apparatus in accordance with embodiments of the present invention;
FIG. 2 is a flowchart of a first embodiment of an octree-based data processing method of the present invention;
FIG. 3 is a flowchart of a second embodiment of the octree-based data processing method of the present invention;
FIG. 4 is a flow chart of a third embodiment of the octree-based data processing method of the present invention;
FIG. 5 is a flowchart of a data processing method based on octree according to a fourth embodiment of the present invention;
the achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
Volume rendering (Physically Based Rendering) is a rendering technique for generating three-dimensional computer graphics for simulating the shape and texture of three-dimensional objects. The volume rendering technology is to simulate the phenomena of scattering, reflection, refraction and the like of light rays on the surface of an object based on the principle of physics to generate an image. Therefore, unlike conventional coloring technology, which controls the appearance of an image by manually setting colors and illumination, volume rendering generates an image by simulating scattering, reflection, refraction, etc. of light on an object. The volume rendering technology can generate high-quality and real three-dimensional images, is commonly used in the fields of movies and television special effects, games, medical treatment, scientific research and the like, and is used for generating character animation, body part decomposition, disease simulation and the like.
In general, the rendering process can be divided into the following steps:
1. model conversion: the coordinate system of the three-dimensional model is converted to the coordinate system of the observer.
2. Rasterizing: and converting the vertexes of the three-dimensional model into pixel points on the screen.
3. Geometric treatment: each pixel is geometrically processed, such as culling, depth testing, etc.
4. Coloring: and coloring each pixel point by using a coloring device to obtain a final color.
5. And (3) synthesis: and combining all the pixel points into a final image.
6. And (3) displaying: the final image is displayed on a screen.
In conventional modeling, surface representations such as polygonal meshes, NURBS (non-uniform rational B-spline surface) patches or subdivision surfaces are used to create 3D objects. In the traditional modeling paradigm, visual properties of a surface (e.g., color, roughness, and reflectivity) are modeled by a coloring algorithm, which may be as simple as the Phong model or as complex as the fully functional displacement variable anisotropic BRDF. Since the propagation of light is calculated only at points on the surface, these methods generally cannot take into account the interactions of light that occur in the atmosphere or inside the object.
In contrast to surface rendering, volume rendering describes a variety of techniques for generating images from three-dimensional scalar data. These techniques were originally developed driven by scientific visualization of volumetric data acquired through measurements or numerical simulations of natural phenomena. Typical examples are medical data inside the human body obtained by Computed Tomography (CT) or Magnetic Resonance Imaging (MRI). Other examples include Computational Fluid Dynamics (CFD), geologic and seismic data, and abstract mathematical data, such as 3D probability distributions of pseudo-random numbers.
With the development of efficient volume rendering technology, volume data is becoming more and more important in the field of visual arts and computer games. Volumetric data is well suited to describe ambiguous objects such as fluids, gases and natural phenomena such as clouds, fog and fires. Many artists and researchers have generated volumetric data to synthesize complementary surface models, which are particularly useful in the process for rendering high quality special effects.
Although volumetric data is more difficult to visualize than surfaces, it is valuable and meaningful to render them in true three-dimensional entities without backing back to the 2D subset.
A voxel, which is the smallest unit that constitutes the volume data, represents the value of a portion of the three-dimensional space in the volume data. Voxels correspond to the concept of pixels in two-dimensional space. How to organize voxel elements, speeding up reading and visualization is a difficult task. For example, if we have a model whose resolution is set to 512x512x512, we will have 512x512x512 voxels, each voxel representing its location and characteristics in the cube model, such as: color, transmittance, etc.
Currently, the common approach is to use Octree storage, which is a tree-like data structure with exactly eight children per internal node. Octree is commonly used to segment a three-dimensional space, recursively subdividing it into eight trigrams. Octree is a correspondence of quadtree in three-dimensional space, and has many applications in the fields of three-dimensional graphics, three-dimensional game engines, and the like. Each node of the octree may represent a space, and the corresponding eight child nodes subdivide the space into eight trigrams. The nodes of the octree in the Point Region (PR) store a three-dimensional Point, namely the "center" of the Region corresponding to the node, and is also a corner of the Region corresponding to the eight child nodes. In the Matrix Based, MX octree, nodes record only the area range from which the corresponding center point coordinates need to be calculated. Thus, the root node of the PR octree may represent infinite space; whereas the root node of MX octree can only represent a limited space, so that an implicit center point can be obtained.
For some sparse spatial structures, expert scholars have proposed an efficient ray tracing algorithm and a Data structure based on a sparse octree structure, wherein the Data structure comprises a Data structure called as a Voxel Data, the Data structure is composed of 64-bit pointers, the first 32 bits are used for constructing a sparse octree, the last 32 bits are used for improving the precision algorithm, the first 32 bits are more significant for the patent, the Data of the 32 bits can be divided into four parts, the first 15 bits represent pointer offset, the next one bit represents whether jump or not, the jump judging point is used for relieving the problem that 15-bit offset is insufficient for representing a model, if the jump mark is marked as 1, the jump is required to obtain a real offset, the next 16 bits are used for representing the attribute of a current node and a child node, the first 8 bits are used for representing whether eight child nodes of the current node exist, and the last 8 bits are used for representing whether eight child nodes of the current node are leaf nodes or not. The ray tracing realizes the hierarchical structure traversal based on octree, mainly comprises PUSH, ADVANCE and POP operations, and the PUSH processes the first intersected child node and pushes the child node into a stack; ADVANCE processes sister nodes of the currently processed child node; the POP processes sister nodes of parent nodes of unprocessed sister nodes that currently process the existence of child nodes. The process is as follows:
1. Initializing a stack, namely starting from a root node and performing PUSH;
2. traversing eight child nodes in turn, if crossed, PUSH; if not, ADVANCE;
3. if no child node exists at present and does not intersect, POP;
although sparse octree provides an implementation way for large volume data storage, with the rapid development of data acquisition technology, three-dimensional data such as seismic wave CT, industrial CT and the like are finer and finer, the volume data is larger and larger, and some data volumes reach the size of tens of GB. The method brings a difficult problem to a large-scale three-dimensional data volume quick visualization technology, and particularly the microcomputer-based large-scale data field quick visualization. It is almost impossible to achieve in the conventional manner, so preprocessing data is a precondition for achieving rapid visualization.
However, the implementation of the sparse octree is to store a whole volume data set on a tree, which will have the drawbacks of expansibility and performance, for example: if the volume data is too large, the depth of the whole tree is more than 16 layers, and the whole tree can bring about great IO overhead both for storage and reading, so that the visualization speed is seriously influenced, the storage cannot be expanded, and the single file is too large, so that the upper limit which can be accommodated by a single file system is possibly exceeded. Therefore, in the process of processing the ultra-large-scale three-dimensional data, octree is generally used for decomposing the data, and the data is imported in a grading manner according to the requirement, so that the rapid visualization of the large-scale three-dimensional data can be realized. And this approach is not practical when global or larger overviews and analyses are required beyond the computer's capacity, so LOD techniques are also required to be applied.
Currently, expert scholars have made some research on the combination of LOD (level of Detail) and octree, such as LOD of breadth octree and LOD of depth octree.
The optimized depth octree can effectively use the LOD technology to avoid reading a large amount of data at a time in the rendering of a large model, but it still fails to solve the problem of how to organize the scattered data nodes together and how to reduce unnecessary storage overhead.
In general, on the one hand, conventional sparse octree fails to achieve efficient access to very large models because the entire model is built on one tree, that is, stored as one file. On the other hand, while the deep octree solves the problem of how to render the ultra-large model, he brings a new serious problem that fails to realize efficient organization of data, such as: the allocation of each node is only suitable for a single-machine file system and cannot meet the increasing data demand; failing to effectively reduce unnecessary storage space, because a sparse storage structure is not employed, if the model has a large number of holes, the size of the ratio of the actual stored size to the actual effective data size would be regrettably.
Therefore, the method stores the volume data by constructing the sparse octree with the LOD structure, so that the volume data is stored in the sparse octree with the LOD structure, and when a data processing instruction of the volume data stored in a node of a target level which is not adjacent to the current level in the LOD sparse octree is received, the method can directly jump to acquire the volume data in the node under another level for corresponding processing, and does not recursion layer by layer to the lower part of the target level for processing. Therefore, the SVO can quickly read or store data in a large-scale data processing scene.
In order to better understand the above technical solution, exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
FIG. 1 is a schematic diagram of a hardware operating environment of an octree-based data processing apparatus according to an embodiment of the present invention.
As shown in fig. 1, the octree-based data processing apparatus may include: a processor 1001, such as a CPU, memory 1005, user interface 1003, network interface 1004, communication bus 1002. Wherein the communication bus 1002 is used to enable connected communication between these components. The user interface 1003 may include a Display, an input unit such as a Keyboard (Keyboard), and the optional user interface 1003 may further include a standard wired interface, a wireless interface. The network interface 1004 may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface). The memory 1005 may be a high-speed RAM memory or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 may also optionally be a storage device separate from the processor 1001 described above.
It will be appreciated by those skilled in the art that the architecture of the octree-based data processing apparatus shown in FIG. 1 is not limiting of the octree-based data processing apparatus and may include more or fewer components than shown, or may combine certain components, or a different arrangement of components.
As shown in fig. 1, an operating system, a network communication module, a user interface module, and an octree-based data processing program may be included in the memory 1005 as one storage medium. Wherein the operating system is a program that manages and controls the hardware and software resources of the octree-based data processing apparatus, the octree-based data processing program, and the execution of other software or programs.
In the octree-based data processing apparatus shown in fig. 1, the user interface 1003 is mainly used for connecting terminals with which data communication is performed; the network interface 1004 is mainly used for a background server and is in data communication with the background server; the processor 1001 may be used to invoke octree-based data processing programs stored in the memory 1005.
In this embodiment, the octree-based data processing apparatus includes: memory 1005, processor 1001, and octree-based data processing program stored on the memory and executable on the processor, wherein:
when the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
obtaining the maximum data resolution of the data of the to-be-stored volume;
based on the maximum data resolution, decreasing the data resolution of each level in the data of the to-be-stored volume from bottom to top to obtain LOD volume data;
inputting the LOD body data into a preset octree model, and carrying out sparsification treatment on the LOD body data layer by layer downwards at the root node of the octree model to a leaf layer to obtain an LOD sparse octree, wherein each non-empty node in the LOD sparse octree is provided with different node numbers;
And when a data processing instruction aiming at a target node in the LOD sparse octree is received, acquiring the node number corresponding to the target node, and jumping to the target node according to the node number to execute data processing operation.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
taking the maximum data resolution as the resolution of the lowest layer data of the volume to be stored, gradually decreasing the resolution to the uppermost layer of the data of the volume to be stored layer by layer, and obtaining the LOD volume data;
the data resolution of the next level in the LOD volume data is twice the data resolution of the adjacent previous level, the data quantity between the levels is the same, and the data resolution of the uppermost level is the preset minimum resolution of the data of the to-be-stored volume in the storage space.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
inputting the LOD volume data to a root node of the octree model;
determining a voxel sparsity in the root node;
and based on the voxel sparsity, performing sparsification processing on the LOD volume data layer by layer downwards until a leaf layer to obtain the LOD sparse octree.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
determining whether the voxel sparsity of the root node is greater than a preset threshold;
if yes, distributing LOD volume data in the root node to eight child nodes positioned at the next level of the octree model;
determining whether the voxel sparsity in each child node is greater than the preset threshold;
if yes, the LOD volume data in the child nodes are distributed to eight child nodes located in the next level of the octree model again until the LOD volume data in each child node in the current level is smaller than the preset threshold value, and the current level is used as the leaf layer to obtain the LOD sparse octree.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
and marking each non-empty node in the octree model downwards layer by layer at the root node to obtain the node number of the non-empty node.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
Acquiring the data resolution in the nodes of the current level;
determining the node number according to the level number of the node and the data resolution;
filling the node number into the prefix bit of the non-null node;
and jumping to the next level, and returning to execute the step of acquiring the data resolution in the nodes in the current level until the prefix bit of each non-empty node in the octree model has the node number.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
determining whether the node number has a corresponding target node address in the LOD sparse octree;
if the node offset exists, determining the node offset between the current node and the target node according to the target node address;
and according to the node offset, jumping from the current node to the level of the target node, and executing the data processing operation on the LOD volume data.
When the processor 1001 calls the octree-based data processing program stored in the memory 1005, the following operations are performed:
determining whether the node offset is less than a preset offset threshold;
If yes, executing the step of jumping from the current node to the level of the target node according to the node offset, and executing the data processing operation on the LOD volume data;
if not, storing the node offset into a preset jump offset block linked list.
Based on the hardware architecture of the octree-based data processing device based on the data processing technology, the embodiment of the octree-based data processing method is provided.
Referring to fig. 2, in a first embodiment, the octree-based data processing method includes the steps of:
step S10, obtaining the maximum data resolution of the data of the to-be-stored volume;
in this embodiment, the maximum data resolution of the input volume data to be stored is first obtained, and the volume data is stored in a three-dimensional array.
In this embodiment, the volume data is a data set formed by a stack of voxels, the voxels are the smallest constituent units in the volume data, one voxel represents a value of a portion of the three-dimensional space in the volume data, and a voxel can be understood as a pixel in the two-dimensional space. The data to be stored has a layer-by-layer layering, wherein voxels at the bottom layer are finer, and the corresponding data resolution is larger, so that the resolution corresponding to the data at the bottom layer of the data to be stored is the maximum data resolution corresponding to the data to be stored.
In the present embodiment, the data resolution refers to the accuracy or resolution of the data represented by each node. The data range represented by each node is determined by its region division and the depth of the node, the deeper the depth, the smaller the represented data range and accuracy, and the higher the data resolution. Conversely, the shallower the depth, the greater the data range and accuracy represented and the lower the data resolution.
Step S20, based on the maximum data resolution, decreasing the data resolution of each level in the data of the to-be-stored volume from bottom to top to obtain LOD volume data;
in this embodiment, after the maximum data resolution is obtained, the data to be stored is preprocessed, specifically, the data resolution is gradually decreased from the lowest layer of the data to be stored, that is, the data resolution in the next layer is greater than the data resolution of the adjacent previous layer.
After preprocessing, the data resolution of the lowermost layer data is the largest of the bank data to be stored, and the data resolution of the uppermost layer data is the smallest of the bank data to be stored. That is, the uppermost layer of the LOD volume data has the smallest data precision, the image displayed on the display is the most blurred, and the lowermost layer has the largest data precision, and the image displayed on the display is the most clear.
It can be understood that when the LOD volume data needs to be called, the uppermost data of the LOD volume data is called first, that is, the data with the minimum data precision is obtained first, so that the memory ratio of hardware when the LOD volume data is called can be reduced, and when the data of other layers needs to be called, the data of other layers, which have higher data precision than the uppermost data and are located below the lowermost layer, is further obtained, so that the memory of the hardware occupied when the LOD volume data is called is reduced.
Step S30, inputting the LOD volume data into a preset octree model, and carrying out thinning treatment on the LOD volume data layer by layer downwards at a root node of the octree model to a leaf layer to obtain an LOD sparse octree, wherein each node in the LOD sparse octree is provided with different node numbers;
in this embodiment, after obtaining LOD volume data, inputting the LOD volume data into a preset octree model, and performing thinning processing on the LOD volume data layer by layer down to a leaf layer at a root node of the octree model, thereby obtaining the LOD sparse octree. The LOD sparse octree is characterized as an octree having multiple levels of detail layered and sparse storage structures at each level.
In this embodiment, the construction principle of the LOD sparse octree is to divide the scene space into eight equally sized subspaces, each subspace can be further recursively divided into eight subspaces until a certain termination condition is reached, which can be understood as sparsification. In the process, the subspace division of the data does not cause compression of the data, but scene models with different precision and detail are displayed in different spatial layers, so that when the LOD sparse octree is applied to drawing of a large scene, the rendering efficiency is improved, and the scene quality and detail are ensured. Moreover, as the LOD sparse octree provides the LOD management of progressive approximation, the method can adapt to different scene sizes and detail requirements, can efficiently support dynamic object and detail changes, and can also be applied to space inquiry and fine collision detection.
In addition, in this embodiment, each non-empty node in the LOD sparse octree is provided with a node number, the non-empty node is characterized as a node with a child node or a presentity, and the empty node is characterized as a node without a child node or a presentity. Illustratively, the root node in the jago sparse octree has a node number of 0, and the eight child nodes corresponding to the root node are labeled 00, 01..07, respectively. The role of the node number is specifically explained in step S40.
Step S40, when a data processing instruction for a target node in the LOD sparse octree is received, acquiring the node number corresponding to the target node, and jumping to the target node according to the node number to execute a data processing operation.
In this embodiment, after obtaining the LOD sparse octree, i.e. after storing the data of the to-be-stored bank in the LOD sparse octree type data structure, we obtain an LOD sparse octree database, which can be used for external calling of the internal data through related instructions. For example, when a LOD sparse octree database needs to be invoked to perform a scene rendering operation, a query may be made through a query instruction.
In this embodiment, the node number is used to quickly determine whether the region of the LOD sparse octree that we need contains a value, and if so, it jumps to the storage address of the target node corresponding to the node number. By node numbering we can skip through any level in the LOD sparse octree as needed. Compared with the traditional mode of traversing the node layer by layer to the level where the node is located, the method for acquiring the data in the node can save the index cost to a great extent.
It should be noted that, the target node included in the data processing instruction may be one or more nodes in the same hierarchy, that is, all or part of the area in a certain hierarchy may be selected for viewing in the LOD sparse octree, for example, a node a, b, c, d, e, f, g, h having 8 same hierarchy in a certain hierarchy may be selected for viewing in one node in the hierarchy, for example, in the c node, or may be selected for viewing in the three nodes a, b and c, or may be selected for viewing in the four nodes c, d, e, f, or may be selected for viewing in all the nodes in the hierarchy.
In the technical scheme provided by the embodiment, the volume data is stored by constructing the sparse octree with the LOD structure, so that the volume data is stored in the sparse octree with the LOD structure, and when a data processing instruction of the volume data stored in a node of a target level, which is not adjacent to the current level, in the LOD sparse octree is received, the volume data in the node of another level can be directly jumped to be obtained for corresponding processing, and the volume data can be recursively processed up or down to the target level layer by layer instead of being processed layer by layer, so that the SVO can also rapidly read or store the data in a large-scale data processing scene.
Further, in this embodiment, the step S20 includes:
and S21, taking the maximum data resolution as the lowest layer data of the data to be stored, and gradually decreasing the data to the uppermost layer of the data to be stored layer by layer to obtain the LOD data, wherein the data resolution of the next layer in the LOD data is twice the data resolution of the adjacent previous layer, the data sizes of all layers are the same, and the data resolution of the uppermost layer is the minimum resolution preset in the storage space of the data to be stored.
Optionally, in this embodiment, for the preprocessing mode of the volume data to be stored, the maximum data resolution is taken as the resolution of the lowest layer data of the volume data to be stored, the data resolution of the upper layer is set to be one half of the maximum resolution, and then the data resolution of the upper layer is reduced by one half again until the resolution of the uppermost layer data becomes the minimum resolution preset in the storage space of the volume data.
The following is an exemplary illustration. Assuming that the maximum data resolution required by the data to be stored is N, taking the resolution as the data resolution of the N-th layer of the lowest layer of the data to be stored, setting the data resolution of the N-1 layer as N/2*n/2*n/2, setting the data resolution of the N-2 layer as N/4*n/4*n/4, and so on until the data resolution of the 1 st layer of the data to be stored is 1 x 1 of the preset minimum resolution in the storage space, and obtaining the LOD volume data with LOD layering.
In addition, in the present embodiment, although the data resolution of the data of the volume to be stored is layered, the data amount of each layer is the same, that is, there is no loss or deletion of data in the preprocessing step, and only the data fineness is different.
In the technical scheme provided by the embodiment, the LOD volume data is omitted by adopting a preprocessing strategy that the data resolution is reduced from bottom to top, the data volume of each layer is ensured to be the same, and the defect and loss of the data during calling are avoided while the hardware memory occupied during calling the LOD volume data is reduced.
Referring to fig. 3, in the second embodiment, based on any one of the embodiments, the step S30 includes:
step S31, inputting the LOD volume data to a root node of the octree model;
step S32, determining the voxel sparsity in the root node;
and step S33, based on the voxel sparsity, performing sparsification processing on the LOD volume data layer by layer downwards to a leaf layer to obtain the LOD sparse octree.
Optionally, in this embodiment, how to perform sparsification processing on the LOD volume data to construct a LOD sparse octree, inputting the LOD volume data into a preset octree model, obtaining the voxel sparsity of the LOD volume data in the root node from the root node, generating eight child nodes corresponding to the root node layer by layer according to the voxel sparsity, distributing the LOD volume data to the eight child nodes again, and then determining the voxel sparsity of the eight child nodes respectively until reaching the bottommost layer, i.e. the leaf layer, of the octree to obtain the LOD sparse octree.
Voxel sparsity is characterized by the ratio of the number of voxels actually needed to be stored in the node to the total number of voxels.
An exemplary description of how the LOD volume data is sparsified down to the leaf level layer by layer is as follows:
1. determining the resolution and boundaries of the voxels: the resolution of the voxels and the boundary size of the voxel space first need to be determined to determine the depth of the octree and the edge length of the root node.
2. Creating octree nodes: octree nodes are recursively created according to the determined depth, each node representing a voxel block of fixed size.
3. Generating a child node: and judging whether the voxel block contained in the current node needs to be further subdivided into eight child nodes according to the sparsity in the voxel block. If subdivision is needed, creating sub-nodes, establishing a relation between the current node and the sub-nodes, and if subdivision is not needed, judging the current node as a leaf node.
In the technical scheme provided by the embodiment, the LOD volume data is subjected to thinning processing layer by layer downwards to a leaf layer through voxel sparsity, so that an LOD sparse octree with multiple detail level layers and sparse storage structures in all layers is obtained, and the hardware memory occupied by calling the original data of the to-be-stored volume is further reduced on the basis of the LOD volume data.
Further, in this embodiment, the step S33 includes:
step S331, determining whether the voxel sparsity of the root node is greater than a preset threshold;
step S332, if yes, distributing the LOD volume data in the root node to eight child nodes located in the next level of the octree model;
step S333, determining whether the voxel sparsity in each of the child nodes is greater than the preset threshold;
and step S334, if yes, distributing the LOD volume data in the child nodes to eight child nodes positioned at the next level of the octree model again until the LOD volume data in each child node in the current level is smaller than the preset threshold value, and taking the current level as the leaf layer to obtain the LOD sparse octree.
Optionally, for how to construct the LOD sparse octree according to the voxel sparsity, starting from the root node, determining whether the voxel sparsity of the node is greater than a preset threshold, if so, distributing LOD volume data in the root node to eight child nodes located in the next level of the octree model, where the distribution manner may be random distribution, average distribution and weight distribution, and selecting according to needs, and this embodiment is not limited.
And judging whether the voxel sparsity in the child node is larger than the threshold value again, and if so, distributing the data in the child node to eight child nodes in the next level again. And recursively executing the step until the data sparsity of the nodes in the whole layer is smaller than a preset threshold value, taking the layer as a leaf layer of the LOD sparse octree, wherein the nodes in the leaf layer are leaf nodes, and completing construction.
Referring to fig. 4, in a third embodiment, after step S31, according to any embodiment, the method further includes:
and step S34, marking each non-empty node in the octree model layer by layer downwards at the root node to obtain the node number of the non-empty node.
Optionally, in this embodiment, each non-empty node of the LOD sparse octree is node numbered, where the node number is used to quickly determine whether the area of the LOD sparse octree that we need contains a value, and if so, jumps to the storage address of the target node corresponding to the node number. By node numbering we can skip through any level in the LOD sparse octree as needed.
Further, the step S34 includes:
step S341, obtaining the data resolution in the nodes of the current level;
Step S342, determining the node number according to the level number of the node and the data resolution;
step S343, filling the node number into the prefix bit of the non-empty node;
step S344, jumping to the next level, and returning to execute the step of obtaining the data resolution in the node in the current level until the prefix bit of each non-empty node in the octree model has the node number.
Optionally, in order to reduce unnecessary index overhead, in this embodiment, a method of lengthening the prefix is adopted to perform indexing, a specific node number value is determined through the level number of the node and the data resolution of the node, and the node number value is filled into the prefix bit of the non-empty node, so that each node in the LOD sparse octree is provided with a number.
Illustratively, assuming that the node is at the K-th layer, the node has a data resolution of i, determining a node number value N by a product method, wherein the determined node number value n=ki=ki 3
Illustratively, assume thatThe level where the node is located is the K-th level, the data resolution of the node is i, and the node number value N is determined by adopting a summation mode, so that the determined node number value n=k+i+i k+i= (k+i) 3
In the technical solution provided in this embodiment, prefix bits in each non-empty node in the octree model are marked layer by layer from a root node downwards to obtain a node number, so that unnecessary index overhead is reduced, and when LOD volume data in a target node in the LOD sparse octree needs to be called, the target node is quickly indexed through the node number.
Referring to fig. 5, in a fourth embodiment, based on any one of the embodiments, the step S40 includes:
step S41, determining whether the node number has a corresponding target node address in the LOD sparse octree;
step S42, if the target node exists, determining the node offset between the current node and the target node according to the target node address;
step S43, jumping from the current node to the level of the target node according to the node offset, and executing the data processing operation on the LOD volume data.
Optionally, in this embodiment, when a data processing instruction for a target node in the LOD sparse octree is received, a node number of the target node is acquired, then it is determined whether the corresponding target node address exists in the LOD sparse octree in the node number, and according to the target node address, a node offset between the node where the pointer is currently located and the target node is determined. The node offset is characterized as the data offset between the address of the current node jumping to the target node address. And according to the node offset, jumping from the current node to a level of a target node, searching the target node from the level, and executing data processing operation corresponding to the data processing instruction on the data in the target node.
Specifically, by setting a jump offset block linked list, we need to determine whether the current node has a jump phenomenon during the reading process by directly inserting the jump offset block into the index position of the child node of the current node, if yes, the jump address should be located behind the index of the child node of the current node, and by reading the value, we can jump directly to the target node.
In the technical scheme provided by the embodiment, the node offset is used for realizing the level where the current node jumps to the target node, and the target node is found. Therefore, when the data in the LOD sparse octree is required to be acquired, the current node can be quickly jumped to the target node. Because the layer-by-layer traversal nodes are not needed, the data can be quickly read and stored even if the data amount in the LOD sparse octree is large.
Further, in this embodiment, before the step S43, the method further includes:
step S44, determining whether the node offset is smaller than a preset offset threshold;
step S45, if yes, executing the step of jumping from the current node to the level of the target node according to the node offset, and executing the data processing operation on the LOD volume data;
And S46, if not, storing the node offset into a preset jump offset block linked list.
Alternatively, in the present embodiment, the node offset cannot exceed the offset range included in the set node hop count during node hopping. For example, the node is a 32-bit byte, 15 bits of which are the offsetable data of the node, the offset range is 2 15
When the node offset is smaller than the preset offset threshold, the address of the target node is stored in the jump offset linked list, and step S43 is executed.
If the node offset is greater than the preset offset threshold, it means that, in the node address corresponding to the node offset, no corresponding target node exists in the LOD sparse octree, no data processing operation is performed, and the node offset is stored in a jump offset block linked list, where the jump offset block linked list is different from the jump offset block linked list set in the LOD sparse octree, and is a linked list for recording the precious node offset when the node offset exceeds the offsetable range, so as to be used for checking the abnormal data processing instruction later.
In the technical scheme provided by the embodiment, whether the target node skipped by the data processing instruction is in the LOD sparse octree is judged by setting the offset threshold, if yes, the instruction is executed, and if not, the node offset is stored in the skip offset block linked list. By the method, the overhead of memory occupation caused by the execution error or abnormal data processing instruction is reduced, and the quick reading and storage of the volume data in the LOD sparse octree in a large-scale rendering scene are further realized.
Furthermore, it will be appreciated by those of ordinary skill in the art that implementing all or part of the processes in the methods of the above embodiments may be accomplished by computer programs to instruct related hardware. The computer program comprises program instructions, and the computer program may be stored in a storage medium, which is a computer readable storage medium. The program instructions are executed by at least one processor in the octree-based data processing apparatus to implement the flow steps of the embodiments of the method described above.
Accordingly, the present invention also provides a computer-readable storage medium storing an octree-based data processing program which, when executed by a processor, implements the respective steps of the octree-based data processing method as described in the above embodiments.
The computer readable storage medium may be a usb disk, a removable hard disk, a Read-Only Memory (ROM), a magnetic disk, or an optical disk, etc. which may store the program code.
It should be noted that, because the storage medium provided in the embodiments of the present application is a storage medium used to implement the method in the embodiments of the present application, based on the method described in the embodiments of the present application, a person skilled in the art can understand the specific structure and the modification of the storage medium, and therefore, the description thereof is omitted herein. All storage media used in the methods of the embodiments of the present application are within the scope of protection intended in the present application.
It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It should be noted that in the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. It is therefore intended that the following claims be interpreted as including the preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit or scope of the invention. Thus, it is intended that the present invention also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (10)

1. An octree-based data processing method, characterized in that the octree-based data processing method comprises:
obtaining the maximum data resolution of the data of the to-be-stored volume;
based on the maximum data resolution, decreasing the data resolution of each level in the data of the to-be-stored volume from bottom to top to obtain LOD volume data;
inputting the LOD body data into a preset octree model, and carrying out sparsification treatment on the LOD body data layer by layer downwards at the root node of the octree model to a leaf layer to obtain an LOD sparse octree, wherein each non-empty node in the LOD sparse octree is provided with different node numbers;
And when a data processing instruction aiming at a target node in the LOD sparse octree is received, acquiring the node number corresponding to the target node, and jumping to the target node according to the node number to execute data processing operation.
2. The octree-based data processing method of claim 1, wherein the step of decrementing the data resolution of each level in the data of the volume to be stored from bottom to top based on the maximum data resolution to obtain LOD volume data comprises:
taking the maximum data resolution as the resolution of the lowest layer data of the volume to be stored, gradually decreasing the resolution to the uppermost layer of the data of the volume to be stored layer by layer, and obtaining the LOD volume data;
the data resolution of the next level in the LOD volume data is twice the data resolution of the adjacent previous level, the data quantity between the levels is the same, and the data resolution of the uppermost level is the preset minimum resolution of the data of the to-be-stored volume in the storage space.
3. The octree-based data processing method of claim 1, wherein the step of inputting the LOD volume data into a preset octree model and thinning the LOD volume data layer by layer down to a leaf layer at a root node of the octree model to obtain the LOD sparse octree comprises:
Inputting the LOD volume data to a root node of the octree model;
determining a voxel sparsity in the root node;
and based on the voxel sparsity, performing sparsification processing on the LOD volume data layer by layer downwards until a leaf layer to obtain the LOD sparse octree.
4. The octree-based data processing method of claim 3, wherein the step of thinning the LOD volume data layer by layer down to a leaf layer based on the voxel sparsity, the step of obtaining the LOD sparse octree comprises:
determining whether the voxel sparsity of the root node is greater than a preset threshold;
if yes, distributing LOD volume data in the root node to eight child nodes positioned at the next level of the octree model;
determining whether the voxel sparsity in each child node is greater than the preset threshold;
if yes, the LOD volume data in the child nodes are distributed to eight child nodes located in the next level of the octree model again until the LOD volume data in each child node in the current level is smaller than the preset threshold value, and the current level is used as the leaf layer to obtain the LOD sparse octree.
5. The octree-based data processing method of claim 3, further comprising, after the step of inputting the LOD volume data to a root node of the octree model:
and marking each non-empty node in the octree model downwards layer by layer at the root node to obtain the node number of the non-empty node.
6. The octree-based data processing method of claim 5, wherein the step of marking prefix bits of each non-empty node in the octree model layer-by-layer down at the root node comprises:
acquiring the data resolution in the nodes of the current level;
determining the node number according to the level number of the node and the data resolution;
filling the node number into the prefix bit of the non-null node;
and jumping to the next level, and returning to execute the step of acquiring the data resolution in the nodes in the current level until the prefix bit of each non-empty node in the octree model has the node number.
7. The octree-based data processing method according to claim 1, wherein the jumping to the target node to perform a data processing operation according to the node number comprises:
Determining whether the node number has a corresponding target node address in the LOD sparse octree;
if the node offset exists, determining the node offset between the current node and the target node according to the target node address;
and according to the node offset, jumping from the current node to the level of the target node, and executing the data processing operation on the LOD volume data.
8. The octree-based data processing method according to claim 7, wherein the step of jumping from the current node to a level at which the target node is located and reading the LOD volume data according to the node offset, further comprises:
determining whether the node offset is less than a preset offset threshold;
if yes, executing the step of jumping from the current node to the level of the target node according to the node offset, and executing the data processing operation on the LOD volume data;
if not, storing the node offset into a preset jump offset block linked list.
9. An octree-based data processing apparatus, comprising: memory, a processor and an octree-based data processing program stored on the memory and executable on the processor, which when executed by the processor, implements the steps of the octree-based data processing method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that the computer-readable storage medium has stored thereon an octree-based data processing program which, when executed by a processor, implements the steps of the octree-based data processing method according to any one of claims 1 to 8.
CN202310341285.4A 2023-03-31 2023-03-31 Octree-based data processing method, octree-based data processing device and computer-readable storage medium Pending CN116452735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310341285.4A CN116452735A (en) 2023-03-31 2023-03-31 Octree-based data processing method, octree-based data processing device and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310341285.4A CN116452735A (en) 2023-03-31 2023-03-31 Octree-based data processing method, octree-based data processing device and computer-readable storage medium

Publications (1)

Publication Number Publication Date
CN116452735A true CN116452735A (en) 2023-07-18

Family

ID=87126898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310341285.4A Pending CN116452735A (en) 2023-03-31 2023-03-31 Octree-based data processing method, octree-based data processing device and computer-readable storage medium

Country Status (1)

Country Link
CN (1) CN116452735A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117745728A (en) * 2024-02-21 2024-03-22 法奥意威(苏州)机器人系统有限公司 Point cloud plane detection method and device, electronic equipment and readable storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117745728A (en) * 2024-02-21 2024-03-22 法奥意威(苏州)机器人系统有限公司 Point cloud plane detection method and device, electronic equipment and readable storage medium
CN117745728B (en) * 2024-02-21 2024-05-24 法奥意威(苏州)机器人系统有限公司 Point cloud plane detection method and device, electronic equipment and readable storage medium

Similar Documents

Publication Publication Date Title
US8570322B2 (en) Method, system, and computer program product for efficient ray tracing of micropolygon geometry
US8253730B1 (en) System and method for construction of data structures for ray tracing using bounding hierarchies
Akinci et al. Parallel surface reconstruction for particle‐based fluids
US7002571B2 (en) Grid-based loose octree for spatial partitioning
US8773422B1 (en) System, method, and computer program product for grouping linearly ordered primitives
US20180144545A1 (en) Method of simplifying a geometry model
Tchiboukdjian et al. Binary mesh partitioning for cache-efficient visualization
Livnat et al. Interactive point-based isosurface extraction
Novák et al. Rasterized bounding volume hierarchies
Wald et al. Ray tracing structured AMR data using ExaBricks
Binotto et al. Real-time volume rendering of time-varying data using a fragment-shader compression approach
CN116452735A (en) Octree-based data processing method, octree-based data processing device and computer-readable storage medium
US20040201584A1 (en) Spatial decomposition methods using bit manipulation
Schütz et al. GPU‐Accelerated LOD Generation for Point Clouds
CN117237503B (en) Geographic element data accelerated rendering and device
Zhongming et al. Particle-based multiple irregular volume rendering on CUDA
Zellmann et al. Memory‐Efficient GPU Volume Path Tracing of AMR Data Using the Dual Mesh
Untereiner et al. n-Dimensional multiresolution representation of subdivision meshes with arbitrary topology
Fernandes et al. A Bucket LBVH Construction and Traversal Algorithm for Volumetric Sparse Data
Laine et al. Hierarchical penumbra casting
WILLCOCKS Sparse volumetric deformation
Amiraghdam et al. LOOPS: LOcally Optimized Polygon Simplification
Wang et al. Interactive high-resolution isosurface ray casting on multicore processors
Weber et al. Visualization tools for adaptive mesh refinement data
Sakamoto et al. Sorting-free pre-integrated projected tetrahedra

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination