## Geometric and Arithmetic Culling Methods for Entire Ray Packets (2006)

### Cached

### Download Links

Citations: | 21 - 9 self |

### BibTeX

@TECHREPORT{Boulos06geometricand,

author = {Solomon Boulos},

title = {Geometric and Arithmetic Culling Methods for Entire Ray Packets},

institution = {},

year = {2006}

}

### OpenURL

### Abstract

Recent interactive ray tracing performance has been mainly derived from the use of ray packets. Larger ray packets allow for significant amortization of both computations and memory accesses; however, the majority of primitives are still intersected by each ray in a packet. This paper discusses several methods to cull entire ray packets against common primitives (box, triangle, and sphere) that allows an arbitrary number of rays to be tested by a single test. This provides cheap “all miss ” or “all hit ” tests and may substantially improve the performance of an interactive ray tracer. The paper surveys current methods, provides details on three particular approaches using interval arithmetic, bounding planes, and corner rays, describes how the respective bounding primitives can be easily and efficiently constructed, and points out the relation among the different fundamental concepts.

### Citations

397 |
Distributed Ray Tracing
- Cook, Porter, et al.
- 1984
(Show Context)
Citation Context ...the triangle. Note that this directly corresponds to frustum culling used in GPU rendering. 4.2.4 Moving Primitives The case of moving primitives deserves some attention. For distribution ray tracing =-=[6, 9]-=-, it is important to allow primitives to move 5 within the frame of animation to provide motion blur. Bounding planes may be used to test for conservative culling with moving primitives (defined by li... |

320 |
Hierarchical geometric models for visible surface algorithms
- Clark
- 1976
(Show Context)
Citation Context ...are particularly compute-intensive, and methods to make them faster have a long history. Traditionally, research has focused on individual rays, using various spatial or hierarchical index structures =-=[1, 3, 7, 17, 18, 23]-=- to reduce the number of traversal steps and primitive intersections that a ray has to perform. Recently, single ray implementations have been supplanted by those that use sets of rays together to imp... |

205 | Interactive rendering with coherent ray tracing - WALD, SLUSALLEK, et al. - 2001 |

170 | Tracing Polygonal Objects
- Heckbert, Hanrahan, et al.
(Show Context)
Citation Context ...t. Although such tests might or might not miss some opportunities to cull because they are conservative, they can be much faster than the more accurate tests used in applications such as beam tracing =-=[15]-=-. These conservative culling tests are especially useful for terminating acceleration structure traversals (e.g. when the whole packet misses some box) [22, 26, 27] or when testing a ray packet agains... |

161 | A fast voxel traversal algorithm for ray tracing
- AMANATIDES, WOO
- 1987
(Show Context)
Citation Context ...are particularly compute-intensive, and methods to make them faster have a long history. Traditionally, research has focused on individual rays, using various spatial or hierarchical index structures =-=[1, 3, 7, 17, 18, 23]-=- to reduce the number of traversal steps and primitive intersections that a ray has to perform. Recently, single ray implementations have been supplanted by those that use sets of rays together to imp... |

158 |
Heuristic Ray Shooting Algorithms
- HAVRAN
(Show Context)
Citation Context ... terminating acceleration structure traversals (e.g. when the whole packet misses some box) [22, 26, 27] or when testing a ray packet against a geometric primitive such as a sphere or triangle (e.g., =-=[10, 13]-=-). This algorithmic use of ray packets provides a large benefit that any packet based system can take advantage of and can provide much more than the speedup achieved through simply tracing rays in a ... |

138 | Interval analysis for Computer Graphics
- Snyder
- 1992
(Show Context)
Citation Context ...h, Technical Report No UUCS-06-10 and can be implemented using the scalar interval multiplication and addition operations. Although interval analysis has been used for many tasks in computer graphics =-=[24]-=-, we now give the example closest to how we will use it for culling: the intersection test of a single 2D ray against a 2D axis-aligned box. We also now adopt the notation that intervals will be denot... |

132 | ray tracing algorithm
- Reshetov, Soupikov, et al.
- 2005
(Show Context)
Citation Context ...s used in applications such as beam tracing [15]. These conservative culling tests are especially useful for terminating acceleration structure traversals (e.g. when the whole packet misses some box) =-=[22, 26, 27]-=- or when testing a ray packet against a geometric primitive such as a sphere or triangle (e.g., [10, 13]). This algorithmic use of ray packets provides a large benefit that any packet based system can... |

126 |
Realtime Ray Tracing and Interactive Global Illumination
- Wald
- 2004
(Show Context)
Citation Context ... √ D �V ·�V In the case of normalized �V this becomes: � � Ts = [−(�V · �OC) − D,−(�V · �OC) + D] 3.3 IA for Triangles For the case of triangles, there are numerous ray-triangle intersection routines =-=[2, 4, 20, 21, 25]-=- but the general interval arithmetic approach can be used for any of them. It is important to note, however, that for the majority of tests it is important that the ray directions have the same length... |

91 | A 3-dimensional representation for fast rendering of complex scenes
- Rubin, Whitted
- 1980
(Show Context)
Citation Context ...are particularly compute-intensive, and methods to make them faster have a long history. Traditionally, research has focused on individual rays, using various spatial or hierarchical index structures =-=[1, 3, 7, 17, 18, 23]-=- to reduce the number of traversal steps and primitive intersections that a ray has to perform. Recently, single ray implementations have been supplanted by those that use sets of rays together to imp... |

86 | Ray Tracing Animated Scenes using Coherent Grid Traversal
- Wald, Ize, et al.
- 2006
(Show Context)
Citation Context ...s used in applications such as beam tracing [15]. These conservative culling tests are especially useful for terminating acceleration structure traversals (e.g. when the whole packet misses some box) =-=[22, 26, 27]-=- or when testing a ray packet against a geometric primitive such as a sphere or triangle (e.g., [10, 13]). This algorithmic use of ray packets provides a large benefit that any packet based system can... |

69 | Affine arithmetic and its applications to computer graphics. Anais do VII Sibgraphi
- JLD, Stolfi
- 1993
(Show Context)
Citation Context ...e techniques in a Cell based ray tracer, but would expect them to yield performance benefits similar to those on the CPU. Interval arithmetic can lead to quickly bloating intervals. Affine arithmetic =-=[8]-=- is designed to address this, and it could be useful. The amount of expansion in the dot product and cross product operations is fairly large and doesn’t necessarily relate to any geometric interpreta... |

66 |
A survey of ray tracing acceleration techniques
- Arvo, Kirk
- 1989
(Show Context)
Citation Context |

60 | Rt-deform: Interactive ray tracing of dynamic scenes using bvhs - Lauterbach, Yoon, et al. - 2006 |

36 |
Realtime Ray Tracing on Current CPU Architectures
- BENTHIN
(Show Context)
Citation Context ...e bounding box of the triangle it is likely that we will still need to test the triangle and that an acceleration structure might not avoid this case. For this situation, authors have used corner rays=-=[5, 10, 22, 26, 27]-=- to bound the packet of rays. In most of these papers, the concept of corner ray culling has only been used for primary rays with shared origin, for which the “corner rays” (hence the name) are define... |

29 |
tracing deformable scenes using dynamic bounding volume hierarchies
- Ray
(Show Context)
Citation Context ...s used in applications such as beam tracing [15]. These conservative culling tests are especially useful for terminating acceleration structure traversals (e.g. when the whole packet misses some box) =-=[22, 26, 27]-=- or when testing a ray packet against a geometric primitive such as a sphere or triangle (e.g., [10, 13]). This algorithmic use of ray packets provides a large benefit that any packet based system can... |

28 |
The Use of Spatial Coherence in Ray Tracing
- Kaplan
- 1987
(Show Context)
Citation Context |

21 |
Faster ray tracing with simd shaft culling
- DMITRIEV, HAVRAN, et al.
- 2004
(Show Context)
Citation Context ... terminating acceleration structure traversals (e.g. when the whole packet misses some box) [22, 26, 27] or when testing a ray packet against a geometric primitive such as a sphere or triangle (e.g., =-=[10, 13]-=-). This algorithmic use of ray packets provides a large benefit that any packet based system can take advantage of and can provide much more than the speedup achieved through simply tracing rays in a ... |

18 |
Data structures for ray tracing
- JANSEN
- 1986
(Show Context)
Citation Context |

18 |
Minimum Storage Ray / Triangle Intersection
- Moller, Trumbore, et al.
- 1997
(Show Context)
Citation Context ... √ D �V ·�V In the case of normalized �V this becomes: � � Ts = [−(�V · �OC) − D,−(�V · �OC) + D] 3.3 IA for Triangles For the case of triangles, there are numerous ray-triangle intersection routines =-=[2, 4, 20, 21, 25]-=- but the general interval arithmetic approach can be used for any of them. It is important to note, however, that for the majority of tests it is important that the ray directions have the same length... |

15 | A Lucid Interval
- Hayes
(Show Context)
Citation Context ...veloped to allow analysis in such situations. With roots early in the twentieth century, interval aritmetic was developed in its modern form in the 1960s and is now a mature field of study (see Hayes =-=[14]-=- for an introduction and pointers to many of the key references and surveys). An interval is the well known one from elementary mathematics: a set of all the points on the real line between two specif... |

13 |
Plücker Coordinates. Ray Tracing News
- Erickson
- 1997
(Show Context)
Citation Context ...r to guarantee to remain correct. In particular, this implies that IA can more easily be used, as one can use it without requiring any geometric understanding of the situation: for example, a Plücker =-=[11]-=- test works in 6D space; imaging geometric bounding primitives in 6D is not straightforward, but IA is trivial to apply. Among the geometric tests, we have found that in a ray tracer the corner ray te... |

12 | G.: A coherent grid traversal approach to visualizing particle-based simulation data
- GRIBBLE, IZE, et al.
(Show Context)
Citation Context ...istance between the plane and the point. If this minimum distance is greater than the sphere radius, r, then the ray packet can not intersect the sphere (this test was recently used by Gribble et al. =-=[12]-=-). 4.2.3 Triangles A triangle is similar to the previous case of an axis aligned box. If all the vertices of the triangle lie to the outside of one of the ray packet’s bounding planes, we can immediat... |

12 | Fast Ray Tracing for Modern General Purpose CPU - Hurley, Kapustin, et al. - 2002 |

11 |
Ray/Triangle Intersection with Barycentric Coordinates
- Bogart, Arenberg
- 1988
(Show Context)
Citation Context ... √ D �V ·�V In the case of normalized �V this becomes: � � Ts = [−(�V · �OC) − D,−(�V · �OC) + D] 3.3 IA for Triangles For the case of triangles, there are numerous ray-triangle intersection routines =-=[2, 4, 20, 21, 25]-=- but the general interval arithmetic approach can be used for any of them. It is important to note, however, that for the majority of tests it is important that the ray directions have the same length... |

10 | Interactive distribution ray tracing
- Boulos, Edwards, et al.
- 2006
(Show Context)
Citation Context ... [−3,−1], Oy = [1,2], Vx = [1,2], Vy = [1,3], Vx = [2,3], Vy = [−1,2], where the rays are �o + [0,∞]�v and points in the box are �p. We can compute: Tx = (px − ox)v −1 x = ([2,3] − [−3,−1])[1,2] −1 = =-=[3,6]-=-[ 1 2 ,1] = [ 3 2 ,6] Similarly, Ty = (py − oy)v −1 y = ([−1,2] − [1,2])[1,3] −1 = [−3,1][ 1 3 ,1] = [−3,1] Because Tx ∩ Ty = ∅, we can conclude that none of the rays in the packet can hit the the box... |

3 |
An Efficient Ray Polygon Intersection
- Badouel
- 1992
(Show Context)
Citation Context ...and pointers to many of the key references and surveys). An interval is the well known one from elementary mathematics: a set of all the points on the real line between two specified endpoints, e.g., =-=[4,7]-=-. In interval arithmetic we have a variable whose value is known to be in some interval, e.g., a ∈ [a,a] is written: a = [a,a]. Here a and a are the boundaries of the interval and can be read as amin ... |

2 |
An Evaluation Framework for Ray-Triangle Intersection Algorithms
- Löfsted, Akenine-Möller
- 2005
(Show Context)
Citation Context |

1 |
ofsted and Tomas Akenine-M oller. An Evaluation Framework for Ray-Triangle Intersection Algorithms
- Marta
- 2005
(Show Context)
Citation Context ... √ D V ·V In the case of normalized V this becomes: √ √ Ts = [−(V · OC) − D,−(V · OC) + D] 3.3 IA for Triangles For the case of triangles, there are numerous ray-triangle intersection routines =-=[2, 4, 20, 21, 25]-=- but the general interval arithmetic approach can be used for any of them. It is important to note, however, that for the majority of tests it is important that the ray directions have the same length... |