A Fast Voxel Traversal Algorithm for Ray Tracing
A fast and simple voxel traversal algorithm through a 3D space partition is introduced. Going from one voxel to its neighbour requires only two floating point comparisons and one floating point addition. Also, multiple ray intersections with objects that are in more than one voxel are eliminated. Introduction In recent years, ray tracing has become the algorithm of choice for generating high fidelity images. Its simplicity and elegance allows one to easily model reflection, refraction and shadows. Unfortunately, it has a major drawback: computational expense. The prime reason for this is that the heart of ray tracing, intersecting an object with a ray, is expensive and can easily take up to 95% of the rendering time. Unless some sort of intersection culling is performed, each ray must intersect all the objects in the scene, a very expensive proposition. There are two general strategies for intersection culling: hierarchical bounding volumes 2, 3, 4 and space partitioning. 6, 7, 8 The general idea of the first approach is to envelop complicated objects that take a long time to intersect with simpler bounding volumes that are much easier to intersect, such as spheres or boxes. Before intersecting the complicated object, the bounding volume is first intersected. (Actually, it is not a full intersection test; all we care about is if the ray hits the bounding volume, not where). If there is no intersection with the bounding volume, there is no need to intersect the complicated object, thus saving time. For a complicated scene made up of many objects, a bounding volume is placed around the entire scene with each object also containing a bounding volume. If an object is made up of several parts each of these parts can also have a bounding volume. We thus can built a tree of bounding volumes, with each node containing a bounding volume that envelops its children. Objects within a subtree are intersected only if their parent node bounding volume is intersected by the ray. In this manner, the amount of actual intersections are significantly reduced. Of course, we now hav e to spent time intersecting bounding volumes but this is more than offset by the reduced total intersections. The second approach of reducing intersections is to partition space itself into regions or voxels. Each voxel has a list of objects that are in that voxel. If an object spans several voxels it is in more than one list. When a ray is shot, we first look into the voxel in which it originates. If it hits any objects in the starting voxel’s list, the intersections are sorted and the closest one is retained. If the intersection is in the current voxel there is no need to intersect any other objects as we have found the closest intersection. If no intersection is found in the current voxel or the object list is empty, we follow the ray into a neighbouring voxel and check its object list. We continue until either we find an intersection or we completely traverse the space partition. Since we intersect objects roughly in the order as they occur along the ray and trivially reject objects far from the ray, the number of intersections that need to be performed is vastly reduced. There are two popular space partition schemes: octrees by Glassner, where voxels are of different sizes, and constant size voxel partitioning (hereafter called a grid partition) by Fujimoto et. al. 8 The first conserves space but makes traversal difficult while the latter allows for simpler traversal at the expense of more voxels. In this paper, we introduce a fast and simple incremental grid traversal algorithm. Like Fujimoto et. al., 8 it is a variant of the DDA line algorithm. However, instead of basing it on the simple DDA (Fujimoto et. al.), in which an unconditional step along one axis is required, ours has no preferred axis. This considerably simplifies the inner loop and allows for easy testing of an intersection point to see if it is in the current voxel. Along with the the new traversal algorithm, we introduce a technique to eliminate multiple intersections when an object spans several voxels. This technique can be used with all space subdivision algorithms with minimum modifications. The New Traversal Algorithm Let us derive the new traversal algorithm. We consider the two dimensional case first; the extension to three dimensions is straightforward. Consider figure 1:
499
- 10.1109/mcg.1984.6429331
- Oct 1, 1984
- IEEE Computer Graphics and Applications
156
- 10.1145/325165.325233
- Jul 1, 1985
- ACM SIGGRAPH Computer Graphics
216
- 10.1145/800250.807479
- Jan 1, 1980
111
- 10.1109/mcg.1986.276832
- Jan 1, 1986
- IEEE Computer Graphics and Applications
91
- 10.1109/mcg.1986.276691
- Feb 1, 1986
- IEEE Computer Graphics and Applications
407
- 10.1109/mcg.1986.276715
- Jan 1, 1986
- IEEE Computer Graphics and Applications
47
- 10.1007/978-4-431-68030-7_4
- Jan 1, 1985
1675
- 10.1145/358876.358882
- Jun 1, 1980
- Communications of the ACM
353
- 10.1145/357332.357335
- Jan 1, 1984
- ACM Transactions on Graphics
- Research Article
2
- 10.3389/frobt.2020.600387
- Feb 18, 2021
- Frontiers in Robotics and AI
This paper presents a novel approach to implement hierarchical, dense and dynamic reconstruction of 3D objects based on the VDB (Variational Dynamic B + Trees) data structure for robotic applications. The scene reconstruction is done by the integration of depth-images using the Truncated Signed Distance Field (TSDF). The proposed reconstruction method is based on dynamic trees in order to provide similar reconstruction results to the current state-of-the-art methods (i.e., complete volumes, hashing voxels and hierarchical volumes) in terms of execution time but with a direct multi-level representation that remains real-time. This representation provides two major advantages: it is a hierarchical and unbounded space representation. The proposed method is optimally implemented to be used on a GPU architecture, exploiting the parallelism skills of this hardware. A series of experiments will be presented to prove the performance of this approach in a robot arm platform.
- Research Article
4
- 10.1587/transfun.e100.a.432
- Jan 1, 2017
- IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
Texture-Based Satellite Visibility Detection for Efficient 3D-Model-Aided GNSS
- Conference Article
4
- 10.5244/c.23.35
- Jan 1, 2009
We propose a novel algorithm for incrementally reconstructing the visual hull in dynamic scenes by exploiting temporal consistency. Using the difference in the silhouette images between two frames we can efficiently locate the scene parts that have to be updated using ray casting. By only concentrating on the parts of the scene that have to be checked for changes, we achieve a significant speed up over traditional methods, which reconstruct each frame independently. Our method does not use any kind of scene model and works regardless of the number and shape of the objects in the scene. We test our algorithm on sequences taken with a multi-camera system and perform a detailed performance analysis showing that our method outperforms other existing methods.
- Preprint Article
- 10.48550/arxiv.2005.06671
- May 14, 2020
We present a simple, novel method of efficiently rendering ray cast soft shadows on curved terrain by using dynamic programming and maximum mipmaps to rapidly find a global minimum shadow cost in constant runtime complexity. Additionally, we apply a new method of reducing view ray computation times that pre-displaces the terrain mesh to bootstrap ray starting positions. Combining these two methods, our ray casting engine runs in real-time with more than 200% speed up over uniform ray stepping with comparable image quality and without hardware ray tracing acceleration. To add support for accurate planetary ephemerides and interactive features, we integrated the engine into celestia.Sci, a general space simulation software. We demonstrate the ability of our engine to accurately handle a large range of distance scales by using it to generate videos of lunar landing trajectories. The numerical error when compared with real lunar mission imagery is small, demonstrating the accuracy and efficiency of our approach.
- Conference Article
4
- 10.1109/cad-cg.2005.16
- Dec 7, 2005
In the recent years graphics processing units (GPU) have evolved into general purpose programmable streaming parallel processors. This evolution makes it possible to implement high quality photo realistic rendering techniques on graphics processors. There have been a few studies to show how to map ray tracing to the GPU. Since graphics processors are not designed to process complex data structures, it is crucial to explore data structures and algorithms for efficient stream processing. In particular ray traversal is one of the most time consuming parts of ray tracing methods. In this work we focus on the efficient ray traversals on GPU. Several known techniques have been redesigned and adapted to the GPU programming model. Also a new traversal method based on extended anisotropic chessboard distance metric has been introduced.
- Conference Article
3
- 10.1117/12.59526
- May 1, 1992
We present a method for recursively rendering a realistic image of a volumetric dataset consisting of a mixture of sampled and synthetic objects. We describe several volume visualization tools that are based on the use of recursive ray tracing. These include shadows, mirrors, specularity, and constructive solid geometry. We discuss several ways to enhance our method both in terms of image quality and rendering speed by introducing the principles of adaptive traversal and probabilistic rendering.
- Book Chapter
15
- 10.1016/b978-0-12-336156-1.50044-6
- Jan 1, 1994
- Graphics Gems IV
V.3. - Voxel Traversal along a 3D Line
- Dissertation
2
- 10.2312/8174
- Jun 1, 2005
Virtual Endoscopy for Preoperative Planning and Training of Endonasal Transsphenoidal Pituitary Surgery
- Research Article
17
- 10.1109/tvcg.2011.46
- Mar 10, 2011
- IEEE Transactions on Visualization and Computer Graphics
Raytracing dynamic scenes at interactive rates have received a lot of attention recently. We present a few strategies for high performance raytracing on a commodity GPU. The construction of grids needs sorting, which is fast on today's GPUs. The grid is thus the acceleration structure of choice for dynamic scenes as per-frame rebuilding is required. We advocate the use of appropriate data structures for each stage of raytracing, resulting in multiple structure building per frame. A perspective grid built for the camera achieves perfect coherence for primary rays. A perspective grid built with respect to each light source provides the best performance for shadow rays. Spherical grids handle lights positioned inside the model space and handle spotlights. Uniform grids are best for reflection and refraction rays with little coherence. We propose an Enforced Coherence method to bring coherence to them by rearranging the ray to voxel mapping using sorting. This gives the best performance on GPUs with only user-managed caches. We also propose a simple, Independent Voxel Walk method, which performs best by taking advantage of the L1 and L2 caches on recent GPUs. We achieve over 10 fps of total rendering on the Conference model with one light source and one reflection bounce, while rebuilding the data structure for each stage. Ideas presented here are likely to give high performance on the future GPUs as well as other manycore architectures.
- Conference Article
3247
- 10.1109/iros.2015.7353481
- Sep 1, 2015
Robust object recognition is a crucial skill for robots operating autonomously in real world environments. Range sensors such as LiDAR and RGBD cameras are increasingly found in modern robotic systems, providing a rich source of 3D information that can aid in this task. However, many current systems do not fully utilize this information and have trouble efficiently dealing with large amounts of point cloud data. In this paper, we propose VoxNet, an architecture to tackle this problem by integrating a volumetric Occupancy Grid representation with a supervised 3D Convolutional Neural Network (3D CNN). We evaluate our approach on publicly available benchmarks using LiDAR, RGBD, and CAD data. VoxNet achieves accuracy beyond the state of the art while labeling hundreds of instances per second.
- Research Article
6
- 10.1109/toh.2017.2749221
- Sep 8, 2017
- IEEE transactions on haptics
This paper presents a method to alleviate performance degradation issues of Haptic Collision Detection when the Bounding Volumes or Bounding Volume Hierarchies of multiple disjoint objects are overlapping or inclusive and force the Haptic Collision Detection methods into narrow phase collision detection with all involved objects. The proposed method aims to generate tighter, mutually exclusive Bounding Volumes at the pre-processing stage, and to quickly cull irrelevant nearby objects at the broad phase to ensure that the Haptic Collision Detection methods will not be overloaded with unnecessary narrow phase collision detection. The proposed method is based on a hybrid representation of Bounding Volume and Space Partitioning and is implemented as an algorithm that automatically generates these new Bounding Volumes for disjoint objects, with details and corner cases discussed. A series of experiments based on real-life Haptic Collision Detection applications has been conducted. The results are analyzed and compared with those from an existing Haptic Collision Detection algorithm. The outcome demonstrates the capability of the proposed method in maintaining a stable Haptic Collision Detection performance under various challenging situations.
- Research Article
- 10.4028/www.scientific.net/amm.433-435.932
- Oct 15, 2013
- Applied Mechanics and Materials
In order to improve the real-time and accuracy in the collision detection technology, a collision detection algorithm based on spatial partitioning and bounding volume was proposed . This algorithm adopted different spatial division strategies for different locations of the spaces according to the details in the scenes to exclude objects which can not intersect.Thus defined the potential intersection areas. Then we used a dynamic S-AABB hierarchy bounding boxes to test whether the intersection happened between the objects in the same grids. We used the sphere boxes to rule out the disjoint objects quickly. Then constructed the dynamic AABB bounding boxes trees for the rest of objects for further intersection test. At last, we improved the traditional overlapping test between the primitives for accurate collision detection . Compared to the traditional collision detection algorithm based on spatial partitioning and AABB bounding volume. This algorithm effectively improves the real-time of the collision detection without affecting the accuracy of original collision detection.
- Research Article
37
- 10.1109/tmm.2020.3009492
- Jul 17, 2020
- IEEE Transactions on Multimedia
Reversible data hiding for encrypted media not only preserves the privacy of the media content but also can convey additional information during message transmission. Some studies advocate separability, that is, the message can be correctly extracted irrespective of whether the encrypted media has been decrypted. However, current research has focused on encrypted images. Urgent research is required on encrypted three-dimensional (3D) models. This paper proposes a separable reversible data hiding method based on spatial subdivision and space encoding for encrypted 3D models. A bounding volume is first constructed using the vertices with boundary values in the processing model. Each vertex coordinate value is then converted into a ratio (between 0 and 1) of the distance between the vertex and minimum boundary point to the side length of the bounding volume. The owner of the 3D model then uses a secret key to encrypt all ratios except those of the boundary vertices to obtain an encrypted 3D model of the same size as the original model. The spatial subdivision technique and a subdivision threshold are subsequently used to divide the bounding volume into a series of blocks and simultaneously control the vertex distortion. The secret message is embedded in the encrypted vertex by using the space encoding method with an embedding threshold. Experimental results indicate that the proposed algorithm enables high privacy, performs separable reversible data hiding, and has low computational complexity, high embedding capacity, and controllable distortion.
- Research Article
1
- 10.2312/localchapterevents/tpcg/tpcg06/115-122
- Jan 1, 2006
We present an algorithm for collision detection between multiple deformable objects translating in a large environment. We use Spatial Partitioning to subdivide the scene and a Bounding Volume Hierarchy to decompose the objects, using octrees in both cases. The algorithm is divided in two parts, the Broad and Narrow Phases, with objects that can be rigid or deformable. In the Broad Phase, an octree is used to partition the scene and cull away the object's Bounding Volumes that are distant. In the Narrow Phase, a hierarchical decomposition of Axis Aligned Bounding Boxes or spheres is employed to reduce the number of primitives in the pairwise comparisons. In summary this work is a general-purpose collision detection technique for performing real time collision detection of deformable bodies in interactive 3D applications.
- Conference Article
2
- 10.1109/iccsee.2012.412
- Mar 1, 2012
This paper puts forward a kind of hybrid algorithm-combining the hierarchical bounding volume method and the bounding volume coordinate chain method in the virtual environment. This algorithm can improve the efficiency of collision detection, rigid body and the software both can be applied to with the collision detection. Then we built the task trees by traversing the mixed hierarchical bounding volumes and speeded up the collision detection algorithm by applying a parallel computing and introduce a space-time correlations concept to accelerate the speed of updating of the bounding box at the same time. Objects that intersect precisely in the testing process, combined with hierarchical bounding box tree compression and storage, storage space by reducing the algorithm to improve the detection algorithm speed. Experimental results show that the method compared with the single bounding method level, it advantages, and objects in the detection of more cases can reduce the execution time required for the algorithm.
- Conference Article
16
- 10.5555/2977336.2977342
- Jun 20, 2016
Reduced precision bounding volume hierarchies and ray traversal can significantly improve the efficiency of ray tracing through low-cost dedicated hardware. A key approach to enabling reduced precision computations during traversal is to translate the ray origin closer to the bounding volume hierarchy node after each traversal step. However, this approach precludes sharing of intersection computations between a parent node and its two children, which is an important optimization. In this paper, we introduce a novel traversal algorithm that addresses this limitation and achieves a significant reduction in the computational complexity of traversal compared to previous approaches. We also include an analysis that shows how our algorithm guarantees watertight intersections which is a key requirement for robust image quality, especially with reduced precision traversal where numerical errors can be large.
- Research Article
21
- 10.1016/s0097-8493(97)00086-1
- Feb 1, 1998
- Computers & Graphics
A beam tracing method with precise antialiasing for polyhedral scenes
- Research Article
2
- 10.12928/telkomnika.v14i3.3590
- Sep 1, 2016
- TELKOMNIKA (Telecommunication Computing Electronics and Control)
To improve the efficiency of collision detection between rigid bodies in complex scenes, this paper proposes a method based on hybrid bounding volume hierarchies for collision detection. In order to improve the simulation performance, the method is based on weighted oriented bounding box and makes dense sampling on the convex hulls of the geometric models. The hierarchical bounding volume tree is composed of many layers. The uppermost layer adopts a cubic bounding box, while lower layers employ weighted oriented bounding box. In the meantime, the data of weighted oriented bounding box is reused for triangle intersection check. We test the method using two scenes. The first scene contains two Buddha models with totally 361,690 triangle facets. The second scene is composed of 200 models with totally 115, 200 triangle facets. The experiments verify the effectiveness of the proposed method.
- Conference Article
- 10.1109/robot.2006.1642162
- May 15, 2006
Collision detection is a critical module in many applications such as computer graphics, robot motion planning, physical simulation, CAD/CAM, and molecular modeling. Many efficient algorithms have been proposed to solve the collision-detection problem, and most of them use some sort of hierarchical bounding volume to speed up the time-consuming process. In this research, we focus on a special situation for applications such as interactive virtual environment, where accuracy may not be crucial but the available time for performing the check is limited. We describe our findings on the inherencies of bounding volume traverse trees (BVTT). Based on this observation, we propose a time-budgeted collision detection method that can traverse the critical regions of BVTT earlier if the time budget is limited. Preliminary experimental results are also reported, and a new strategy is suggested based on the concept of confidence value
- Book Chapter
5
- 10.1007/3-540-61142-8_562
- Jan 1, 1996
Ray Tracing is already established as a powerful and elegant technique for image synthesis, but is too inconvenient because of its high computational cost, especially in complex scenes. Because of this, the effort to accelerate Ray Tracing has been important. The utilization of hierarchical bounding volumes produces important time reductions, increasing the memory consumption. Parallelisation in general purpose computers is another way of reducing time. We present an algorithm that permits visualizing by Ray Tracing very complex natural scenes generated by procedural models in distributed memory multiprocessors with any memory size. In this approach, the primitive database is not generated; each processor contains the initial specification of the scene and realizes the visualization, working hierarchically, directly from the specification and a partial generation of the model. The rest of the available memory is used to store some levels of the hierarchical bounding volume, computing in tracing time bounding volumes and primitives not stored. In this way, there are no communications during the tracing phase. The algorithm is also valid for shared memory multiprocessors.KeywordsNatural SceneMemory ConsumptionVirtual MemoryInitial SpecificationImage SynthesisThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
- Research Article
21
- 10.1080/10867651.1997.10487481
- Jan 1, 1997
- Journal of Graphics Tools
An orthogonal BSP (binary space partitioning) tree is a commonly used spatial subdivision data structure for ray-tracing acceleration. While the construction of a BSP tree takes a relatively short time, the efficiency of a traversal algorithm significantly influences the overall rendering time. We propose a new fast traversal algorithm based on statistical evaluation of all possible cases occuring during the traversal of a BSP tree. More frequent cases are handled simply, while less frequent ones are more computationally expensive. The proposed traversal algorithm handles all singularities correctly, and saves between 30% and 50% of traversal time compared with the commonly-known Sung and Arvo algorithms.
- Conference Article
64
- 10.1145/1283900.1283912
- Jan 1, 2006
This paper introduces a new spatial index structure, called Bounded KD tree (B-KD tree), for realtime ray tracing of dynamic scenes. By presenting hardware units of all time critical B-KD tree algorithms in the context of a custom realtime ray tracing chip we show that this spatial index structure is well suited for hardware implementation. B-KD trees are a hybrid spatial index structure that combine the advantages of KD trees and Bounding Volume Hierarchies into a single, simple to handle spatial index structure. Similar to KD trees, B-KD trees are binary trees where each node considers only a single spatial dimension. However, instead of a single splitting plane that divides space into two disjoint sub-spaces, each node in B-KD trees contains two pairs of axis aligned planes that bound the geometry of its two child nodes. As a bounding volume approach B-KD trees allow for simple and efficient updates when changing geometry while maintaining the fast traversal operations and simple hardware implementation known from KD trees. This enables the support for dynamic scenes with constant mesh topology and coherent dynamic changes, like typical skinned meshes.
- Research Article
10
- 10.1002/mop.25492
- Aug 17, 2010
- Microwave and Optical Technology Letters
Implementation of the shooting and bouncing rays (SBR) method for radar cross section or scattering center prediction of complex electrically large objects is studied with a focus on the computational efficiency. A triangulated CAD model is assumed and SBR is processed by a ray‐triangle intersection algorithm. An octree space partitioning, which might be based on either rectangular boxes or spheres as bounding volumes, is used to speedup the intersection decision. The effect of proper implementation and choice of the bounding volume to reduce “the constant in front” of the leading order complexity is demonstrated. It is shown that the required computer resources can be reduced drastically using the techniques outlined in this article. © 2010 Wiley Periodicals, Inc. Microwave Opt Technol Lett 52:2409–2413, 2010; View this article online at wileyonlinelibrary.com. DOI 10.1002/mop.25492
- Research Article
19
- 10.1016/j.jss.2006.06.016
- Aug 9, 2006
- The Journal of Systems & Software
A novel data hiding scheme for color images using a BSP tree
- Research Article
2
- 10.1109/access.2020.3042698
- Jan 1, 2020
- IEEE Access
This paper constructs the signal light model of intersection considering dynamic traffic flow, and proposes an ecological cruise control strategy using the pseudo-spectral method to optimize the energy consumption of electric connected and automated vehicles when passing through multiple intersections. Firstly, a method for a dynamic effective red light duration model considering the average queue effect and the real-time flow fluctuation effect is proposed. Secondly, a recursive and traversal search algorithm is used to identify different combinations of traffic schemes to reduce the complexity of a solving global optimization problems. Finally, considering the constraints of dynamic effective red light duration, the pseudo-spectral method is proposed which can be used in the traffic energy-saving planning of single intersection and multiple intersections. Simulation results demonstrate that compared with dynamic programming benchmark algorithm, the energy-saving effect of this control strategy is much close to the global optimum, and the calculation efficiency is far better. Besides, compared with the intelligent driver model which used as the energy consumption benchmark, this control strategy can produce a better energy-saving speed reference trajectory.
- Ask R Discovery
- Chat PDF
AI summaries and top papers from 250M+ research sources.