Shell: Accelerating Ray Tracing on GPU

Size: px
Start display at page:

Download "Shell: Accelerating Ray Tracing on GPU"

Transcription

1 Shell: Accelerating Ray Tracing on GPU Kai Xiao 1, Bo Zhou 2, X.Sharon Hu 1, and Danny Z. Chen 1 1 Department of Computer Science and Engineering, University of Notre Dame 2 Department of Radiation Oncology, University of Maryland School of Medicine Abstract. Ray tracing is a fundamental process in many areas including computer graphics and medical applications. Different hierarchical acceleration structures for ray tracing have been developed. Such ray tracing approaches executed on advanced many-core processors such as GPU, however, turns out to be memory bounded due to their frequent search operations in the hierarchical structures. This paper proposes a novel acceleration approach (called Shell) aiming to tackle the mismatch between the ray tracing behaviors and the GPU memory features. The approach can work with any common spatial hierarchical (e.g., Kd-trees) representation of a ray tracing scene. It organizes the information of adjacent regions into memory chunks which can be read by only one memory transaction in GPU, and guarantees the minimum number of memory transactions for each ray traversal. Performance evaluations of the Shell approach based on real medical images show that it is 4X to 7.8X faster than the existing most advanced Kd-tree based ray tracing approach on GPU. The performance gain may offer significant improvements for other GPU based algorithms that heavily depend on ray tracing, such as interactive rendering and radiation dose calculation. 1 Introduction Ray tracing is a crucial component in a wide range of applications such as computer graphics (e.g., [9, 10, 12]) and radiotherapy (e.g., [1, 4, 8]). In graphics processing, a massive number of rays from light sources or scene objects often need to be traced along their trajectories. If a ray hits an object, it is terminated and secondary rays are generated [3]. In radiotherapy, ray tracing is required in virtually all dose calculation methods for estimating the total amount of radiation energy delivered. Here, ray tracing is used to either determine particle interaction sites or to spatially adjust energy diffusion around interaction sites. Despite its importance, ray tracing is well known to be computationally intensive [2, 5]. Extensive studies have been conducted from both the algorithm and platform perspectives. From the algorithm view point, many traversal acceleration structures, such as Kd-trees [10] and Bounding Volume Hierarchies (BVH) [7], have been proposed. The fundamental idea behind these approaches is to intelligently organize the scene objects so that efficient search and hit-test can be achieved. For ray tracing in uniform grids, the regular spatial (voxel) structure allows fast access of objects with implicit addressing mechanisms. Hence, improvements are mainly gained from low-level operation optimization. Siddon s algorithm [11] and the 3DDDA algorithm [3] are good examples.

2 2 Another direction to improve ray tracing performance is to fully exploit the potential of the given hardware. As we enter the many-core era, Graphics Processing Units (GPU) are increasingly used in ray tracing. For ray tracing in uniform grids, Greef et al. [4] implemented Siddon s algorithm [11] on GPU and obtained a 2.1X to 10.1X speedup over a single-threaded CPU implementation. Due to its fast voxel traversal feature, the 3DDDA algorithm [3] has also been employed in multiple GPU-based dose calculation approaches [8, 13]. For ray tracing in non-uniform grids, there exist many studies, especially on Kd-tree based approaches. Major obstacles of porting existing Kd-tree based algorithms onto GPU are that GPU lacks of efficient stack support and can suffer from long off-chip memory access latency (400 to 600 times slower than a computational operation [2]). Hence, lots of efforts have been devoted to developing efficient stackless Kd-tree ray tracing algorithms, including Kd-restart [5, 6], Kd-backtrack [5], and Kd-rope [9]. The Kd-rope method is considered the best since it is 30%-50% faster than other approaches [10]. Unfortunately, all these algorithms eventually have to search the Kd-tree repeatedly to detect the next traversing region. For a Kd-tree of height H, each search visits O(H) tree nodes on average. Since search operations need to read every node visited into the on-chip memory, and each reading requires multiple memory transactions due to the information size of a node, the performance of existing stackless GPU ray tracing algorithms cannot efficiently utilize GPU s memory bandwidth. In this paper, we propose a new acceleration structure, called Shell, to improve the ray tracing performance on GPU. Unlike Kd-trees which are originally a general-purpose structure, our proposed structure is specifically designed for ray tracing and for tackling the mismatch between ray tracing behaviors and the GPU memory architecture. On one hand, our Shell structure focuses on the neighboring relationship among scene regions instead of the inclusive relationship which is explored in hierarchical structures like Kd-trees and BVH. On the other hand, decomposition results for all hierarchical structures can be used by our approach while the compactness of the scene representation is preserved. The innovative idea of Shell is to provide a self-containing representation for each region so that it allows immediate access of any neighboring region without traversing a hierarchical structure. With the proposed Shell structure, the inter-region traversal completely avoids any hierarchical search steps, which are originally necessary and expensive in hierarchical acceleration structures. Consequently, for a ray traversing k regions in a decomposed scene, our Shell approach performs exactly k memory transactions. In comparison, any Kd-tree based method would use O(kH) memory transactions for a tree height of H. We evaluate the effectiveness of our Shell approach by comparing it with the Kd-rope method in [9], which is considered to be the most advanced for GPU ray tracing. We have used real medical images in our evaluation. Our experimental results show that, for different ray configurations, ray tracing based on the Shell approach is 4X to 7.8X faster than the Kd-rope based ray tracing. Such speedup is significant for applications, such as those from computer graphics and radiotherapy, where ray tracing is a major performance bottleneck.

3 3 Fig. 1. An example for ray tracing in 2D SR structure 2 Shell Structure The Shell structure aims to capture information needed for ray tracing in a given scene. Its key idea is to use a small amount of memory to store some essential information such that the neighboring regions of any region can be quickly accessed during the ray traversal process. The Shell structure makes use of two basic assumptions for the scene description. First, a scene is given on a uniform grid system. Second, the scene is divided into non-overlapping regions each containing a contiguous set of voxels. The voxels within a region share some common features such as density. Both assumptions hold for ray tracing environments in many medical, imaging and other applications. Without loss of generality, we let the regions be represented as axis-aligned boxes. Note that such region-based partitions can be easily obtained for a given scene by using hierarchical decomposition methods such as Kd-trees or Octrees. Figure 1(a) illustrates an example of a scene with 7 regions where the voxels along the region boundaries are shown while the internal voxels are omitted. In traditional hierarchical structures, a data structure associated with a region contains pointers to hierarchically related regions. For the example in Figure 1(a), a 5-level Kd-tree representation of the scene is given in Figure 1(b). Based on this representation, for the traversal example of ray (P 1, P 2 ) in Figure 1(a), 2 tree nodes are visited for finding region A, 2 for traversing from region A to B, and another 4 from region B to G. Therefore, the traversal for ray (P 1, P 2 ) in this Kd-tree needs to visit 8 nodes. Since a node s size of a Kd-tree is typically larger than the size of a single memory transaction in GPU, each visit of a tree node generates multiple memory transactions. In our Shell structure, instead of using pointers for referencing the relationship between adjacent regions, we associate a Shell-Region (SR) with each region. Each SR consists of a set of Shell-Units (SUs) corresponding to the voxels along the boundary of the region for storing information about the region s neighbor-

4 4 ing regions. Figure 1(a) illustrates the Shell structure for the 7 regions, where the shaded squares along the boundary of each region are the SUs. By judiciously storing the neighboring region information, this Shell structure can effectively eliminate the need for traversing tree nodes in hierarchical structures such as a Kd-tree for ray tracing and hence dramatically reduce the number of memory transactions. As a quick example, in Figure 1(a), ray (P 1, P 2 ) exits region A at (8,10). If we can read SU(8,10) with one memory transaction to acquire region B s information, the ray tracing process will immediately proceeds to region B. Furthermore, if we can determine the next exit location (10,15) of ray (P 1, P 2 ) from region B as well as the memory location of SU(10,15), we can traverse from region B to G again with only one memory access. Compared with the Kd-tree based traversal discussed above, the Shell structure reduces the number of memory accesses from 8 to 2 for tracing ray (P 1, P 2 ). From the above discussion, it is clear that the efficiency of the Shell structure relies on three crucial features. First, information stored at each SU must be sufficient for describing its neighboring region s information. Second, the data at an SU must be obtainable with a single memory transaction. Third, the address of an SU must be easily computable. Below, we provide additional details on how our Shell structure design fulfills these three requirements. An SU is designed to contain all necessary information about its neighboring region such that the data can be used to determine the attribute of the region as well as to locate the memory address of the next SU that a given ray will intersect. Specifically, this information includes the neighbor s geometric data, associated attribute and the memory addresses of the associated SUs in this region. Since a region is an axis-aligned box, its geometric data can be captured by only two 3D points: R 0 (the smallest values of x, y, and z) and R 1 (the largest values of x, y, and z). The associated attribute is different for different applications. For example, in the radiation dose calculation application, the attribute is the region s average density; in computer graphics, it is a list of objects located inside the region. To avoid the need of maintaining in each SU multiple memory addresses of SUs in the neighbor region, we resort to an ordered arrangement for storing SUs in the memory. With this order, each SU only stores the memory address of the SU located at R 0 in the neighboring region. To retrieve other SUs, we use the memory address of the SU at R 0 as the base address to compute the other SUs memory offsets according to their coordinates. To guarantee that an SU can be loaded by one memory transaction, the size of each SU should be no bigger than the size of a single memory transaction in the GPU architecture. In NVIDIA s GPU, the maximum size of an off-chip memory transaction is 128 bits (16 bytes). With this constraint, we design each SU as a 16-byte aligned structure, which contains two integers for the region s geometric data (R 0 and R 1 ), one pointer for the memory address of the SU at R 0, and one 32-bit element (integer, or float, or pointer) for the attribute. In order to facilitate the SU address calculation, we need a deterministic way of arranging all the SUs in an SR. In a 3D scenario, there are three types of SUs: (1) Face SU (FSU), which is located on a region s face and has 1 adjacent region;

5 5 Fig. 2. Illustration of (a) an Edge Shell Unit and (b) a Corner Shell Unit (2) Edge SU (ESU) (see Figure 2(a)), which is located on a region s edge and has 3 adjacent regions; (3) Corner SU (CSU) (see Figure 2(b)), which is located at a region s corner and has 7 adjacent regions. In each region, there are 6 faces, 12 edges and 8 corners. We arrange the SUs following the order of FSUs first, then ESUs, and finally CSUs. For each type of SUs, we arrange them according to the increasing order of their x, y, and z coordinates, respectively. Given the above SU arrangement, we can readily calculate the memory address of any SU at a point P i. Let (x i, y i, z i ) represent the coordinates of point P i and (x 0, y 0, z 0 ) for point R 0 representing the smallest x, y and z coordinates of the same region. The memory address of SU at (x i, y i, z i ) is M 0 + O i, where M 0 is the memory address of the SU at (x 0, y 0, z 0 ). The SU s type can be determined by checking the ray intersection coordinates. Let D x, D y and D z be the lengths of the region along the x, y and z directions, respectively. O i can be computed as follows. (We only show some representative formula due to the page limit.) If point P i is on a face (i.e., an FCU) parallel to the x plane, then O i = 2(D x D y + D x D z ) + x i x 0 D x D y D z + (z i z 0 ) D y + (y i y 0 ). (1) If point P i is on an edge (i.e., an ESU) parallel to the x-axis, we have O i = 2(D x D y + D x D z + D y D z ) + 4(D z + D y ) +(2 z i z 0 D z + y i y 0 D y ) D x + (x i x 0 ). (2) If point P i is at a corner (i.e., a CSU), we have O i = 2(D x D y +D x D z +D y D z )+4(D z +D y +D x )+4 z i z 0 +2 y i y 0 + x i x 0. D z D y D x (3) When performing ray tracing for a ray, the first entering and the last exiting points of the scene need special attention as they impact how we start and end a ray tracing process. To efficiently handle these cases, we further introduce two additional types of SUs: Inward SUs (ISUs) and Outward SUs (OSUs) on the boundary of the scene. Details of these are omitted due to the page limit. 3 Ray Tracing with the Shell Structure Based on the Shell structure introduced above, we can accomplish ray tracing by using only one memory access per region penetrated by a ray. This is shown in Algorithm 1. Specifically, the traversal of a ray starts from determining the

6 6 Algorithm 1 Ray Tracing with Shell Structure 1: Input: ray R, scene S, memory location M 0 of the first voxel in S. 2: Output: list of regions that R penetrates, L. 3: more region to trace := true; 4: while more region to trace == true do 5: compute (x i, y i, z i ) where R intersects the next region in S; 6: M i = M 0 + O i ; // compute M i of SU at (x i, y i, z i ) 7: access memory location at M i ; 8: if M i does not contain an OSU then 9: update M 0 with the information read from M i; 10: append the attribute read from M i to L; 11: else 12: more region to trace := false; 13: end if 14: end while coordinates of the first intersection voxel between the ray and the scene (Line 5). Based on this coordinate information and the initial memory location of the scene, the memory address of the SU corresponding to the voxel is computed using one of the expressions given in (1) (3) (Line 6). The information for the adjacent region is then obtained by one memory transaction (Line 7) and the necessary variables are updated. The process continues until the ray intersects a voxel that corresponds to an OSU, and the traversal is complete. We briefly analyze the complexity of Algorithm 1 below. Since computation operations in GPU only take 1-8 cycles while an off-chip (i.e., device) memory transaction takes cycles [2], the amount of computation (for determining memory addresses) in Algorithm 1 is negligible compared to the memory access time. For a ray traversing through M regions, Algorithm 1 only needs to issue M off-chip memory transactions for accessing M SUs. Its time complexity hence is O(M). As a comparison, existing hierarchical-structure based ray tracing algorithms all have a time complexity of O(M logn), where N is the number of leaf nodes (regions) in the hierarchical structure. 4 Evaluation To evaluate the Shell approach, we implemented two GPU ray tracing programs based on the Shell structure and Kd-rope structure, respectively. Their performances are then compared using different images and ray sets on the NVIDIA C1060 GPU platform (240 cores, 1.3GHz, 4GB device memory). The evaluation metrics include the speedup of the total GPU execution time and the speedup of the off-chip memory access time. An Octree decomposition program is developed to construct the hierarchical structures of the images, where the user can specify a standard deviation threshold to indicate the maximum variation allowed in each region. In our experiment, 3 different images (Images 1-3) are used. The decomposition settings and results are shown in Table 1, where N r is the average number of voxels per region.

7 7 Table 1. Octree decomposition settings and results Description Size Threshold N r Image 1 artificial lung phantom % 8.6 Image 2 breast image % 15.1 Image 3 breast image % 4.3 Table 2. Configuration of ray sets Description Direction deviation Origins P 0 RC-1 parallel rays = 0 (0, 5, 5) P 0 (0, 10, 10) RC-2 parallel rays = 0 (0, 0, 0) P 0 (0, 30, 30) RC-3 distributed rays = 1 (0, 10, 0) P 0 (0, 40, 20) RC-4 random rays = random P 0 = random To investigate the impact of ray distributions on performance, 4 sets of rays (25600 rays in each set) are used in the experiment. The settings of these sets are given in Table 2. All rays originate from the surface of the image volume and traverse through the image along their directions. The rays in the first two sets (RC-1 and RC-2) follow the same direction (which allows a large number of regions to be penetrated), but have their origins distributed evenly within different ranges (with RC-1 having a smaller range than RC-2). Rays in RC-1 and RC-2 hence help reveal how the spatial distribution of ray origins effects the performance. The third set (RC-3) emulates the scenarios where rays are evenly distributed in the 3D spherical space, a case often found in radiotherapy applications. The last set (RC-4) consists of randomly generated rays. Table 3 shows the performance results for the Shell based and Kd-rope based ray tracing programs. Comparing with the Kd-rope, our Shell acceleration approach reduces the off-chip memory reading time by about 5.3X to 8.2X, and improves the total GPU execution time by about 4.0X to 7.8X. Furthermore, tracing more divergent rays (e.g., those in RC-2, RC-3 and RC-4 are more divergent than those in RC-1) takes more execution time but benefits more from Table 3. Ray tracing performance results and comparison Image 1 Image 2 Image 3 RC-1 RC-2 RC-3 RC-4 RC-1 RC-2 RC-3 RC-4 RC-1 RC-2 RC-3 RC-4 Shell Kd-rope MEM SP EX SP GPU execution time (ms) of the program with corresponding structures. 2 Speedups of Shell s off-chip memory reading over Kd-rope s. 3 Speedups of Shell s total GPU execution time over Kd-rope s.

8 8 our Shell scheme. These results demonstrate that the Shell approach is more efficient than the existing most advanced hierarchical approach for ray tracing. 5 Conclusion In this paper, we introduce Shell, a new acceleration approach for ray tracing on GPU. The Shell structure can be built from any spatial and hierarchical structures such as Kd-trees. Our new ray tracing algorithm based on the Shell structure is able to conduct the ray traversal procedure without any search operations. Compared with the existing best hierarchical acceleration approaches for GPU ray tracing, our Shell based ray tracing approach achieved 4X to 7.8X speedup for different ray configurations. References 1. Ahnesjo A., (1989), Collapsed Cone Convolution of Radiant Energy for Photon Dose Calculation in Heterogeneous, Med. Phys., 16(4), Aila T., and Laine S., (2009) Understanding the Efficiency of Ray Traversal on GPUs, Proceedings of the Conference on High Performance Graphics, Amanatides J., and Woo A., (1987), A Fast Voxel Traversal Algorithm for Ray Tracing, In Eurographics, de Greef M., Crezee J., van Eijk J., Pool R., and Bel A., (2009), Accelerated Ray Tracing for Radiotherapy Dose Calculations on a GPU, Med. Phys., 36(9), Foley T., and Sugerman J., (2005), Kd-tree Acceleration Structures for a GPU Raytracer, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, Horn D., Sugerman J., Houston, M., and Hanrahan P., (2007), Interactive K-D Tree GPU Raytracing, ACM SIGGRAPH Symposium on Interactive 3d Graphics and Games, Proceedings, Ize T., Wald I., and Parker S., (2008), Ray Tracing with the BSP Tree, IEEE Symposium on Interactive Ray Tracing 2008, Proceedings, Jacques R., Taylor R., Wong J., and McNutt T., (2010), Towards Real-time Radiation Therapy: GPU Accelerated Superposition/Convolution, Computer Methods and Programs in Biomedicine, 98(3), Popov S., Gunther J., Seidel H., and Slusallek P., (2007), Stackless KD-Tree Traversal for High Performance GPU Ray Tracing, Computer Graphics Forum, 26(3), Santos A., Teixeira X., Farias T., Teichrieb V., and Kelner J., (2009), Kd-Tree Traversal Implementations for Ray Tracing on Massive Multiprocessors: A Comparative Study, ISCAHPC09, Siddon R.L., (1985), Prism Representation: A 3D Ray-tracing Algorithm for Radiotherapy Applications, Phys. Med. Biol., 30, Wald I., Ize T., Kensler A., Knoll A., and Parker S.G., (2006), Ray Tracing Animated Scenes Using Coherent Grid Traversal, Acm Transactions on Graphics, 25(3), Zhou B., Yu C.X., Chen D.Z., and Hu X.S., (2010), GPU-accelerated Monte Carlo Convolution/Superposition Implementation for Dose Calculation, Med. Phys., 37(11),

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome! INFOMAGR Advanced Graphics Jacco Bikker - February April 2016 Welcome! I x, x = g(x, x ) ε x, x + S ρ x, x, x I x, x dx Today s Agenda: Introduction : GPU Ray Tracing Practical Perspective Advanced Graphics

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 11: Acceleration Welcome! Today s Agenda: High-speed Ray Tracing Acceleration Structures The Bounding Volume Hierarchy BVH Construction BVH

More information

Fast BVH Construction on GPUs

Fast BVH Construction on GPUs Fast BVH Construction on GPUs Published in EUROGRAGHICS, (2009) C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, D. Manocha University of North Carolina at Chapel Hill NVIDIA University of California

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

Accelerating Ray Tracing

Accelerating Ray Tracing Accelerating Ray Tracing Ray Tracing Acceleration Techniques Faster Intersections Fewer Rays Generalized Rays Faster Ray-Object Intersections Object bounding volumes Efficient intersection routines Fewer

More information

Lecture 2 - Acceleration Structures

Lecture 2 - Acceleration Structures INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 2 - Acceleration Structures Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Problem Analysis

More information

Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure

Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure EG UK Theory and Practice of Computer Graphics(2009) Wen Tang, John Collomosse(Editors) Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure MichaelSteffenandJosephZambreno Department

More information

Lecture 11 - GPU Ray Tracing (1)

Lecture 11 - GPU Ray Tracing (1) INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 11 - GPU Ray Tracing (1) Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Exam Questions: Sampler

More information

A Parallel Algorithm for Construction of Uniform Grids

A Parallel Algorithm for Construction of Uniform Grids A Parallel Algorithm for Construction of Uniform Grids Javor Kalojanov Saarland University Philipp Slusallek Saarland University DFKI Saarbrücken Abstract We present a fast, parallel GPU algorithm for

More information

A Parallel Access Method for Spatial Data Using GPU

A Parallel Access Method for Spatial Data Using GPU A Parallel Access Method for Spatial Data Using GPU Byoung-Woo Oh Department of Computer Engineering Kumoh National Institute of Technology Gumi, Korea bwoh@kumoh.ac.kr Abstract Spatial access methods

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Acceleration Data Structures

Acceleration Data Structures CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection

More information

Stackless Ray Traversal for kd-trees with Sparse Boxes

Stackless Ray Traversal for kd-trees with Sparse Boxes Stackless Ray Traversal for kd-trees with Sparse Boxes Vlastimil Havran Czech Technical University e-mail: havranat f el.cvut.cz Jiri Bittner Czech Technical University e-mail: bittnerat f el.cvut.cz November

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016 Ray Tracing Computer Graphics CMU 15-462/15-662, Fall 2016 Primitive-partitioning vs. space-partitioning acceleration structures Primitive partitioning (bounding volume hierarchy): partitions node s primitives

More information

GPU-BASED RAY TRACING ALGORITHM USING UNIFORM GRID STRUCTURE

GPU-BASED RAY TRACING ALGORITHM USING UNIFORM GRID STRUCTURE GPU-BASED RAY TRACING ALGORITHM USING UNIFORM GRID STRUCTURE Reza Fuad R 1) Mochamad Hariadi 2) Telematics Laboratory, Dept. Electrical Eng., Faculty of Industrial Technology Institut Teknologi Sepuluh

More information

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing with Spatial Hierarchies Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing Flexible, accurate, high-quality rendering Slow Simplest ray tracer: Test every ray against every object in the scene

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

High Definition Interactive Animated Ray Tracing on CELL Processor using Coherent Grid Traversal

High Definition Interactive Animated Ray Tracing on CELL Processor using Coherent Grid Traversal High Definition Interactive Animated Ray Tracing on CELL Processor using Coherent Grid Traversal David R. Chapman University of Maryland Baltimore County Abstract The IBM/Toshiba/Sony CELL processor exhibited

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique

Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique Xingxing Zhu and Yangdong Deng Institute of Microelectronics, Tsinghua University, Beijing, China Email: zhuxingxing0107@163.com,

More information

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila Agenda Introduction Motivation Basics PantaRay Accelerating structure generation Massively parallel

More information

Fast kd-tree Construction for 3D-Rendering Algorithms Like Ray Tracing

Fast kd-tree Construction for 3D-Rendering Algorithms Like Ray Tracing Fast kd-tree Construction for 3D-Rendering Algorithms Like Ray Tracing Sajid Hussain and Håkan Grahn Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden {sajid.hussain,hakan.grahn}@bth.se http://www.bth.se/tek/paarts

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Basics of treatment planning II

Basics of treatment planning II Basics of treatment planning II Sastry Vedam PhD DABR Introduction to Medical Physics III: Therapy Spring 2015 Dose calculation algorithms! Correction based! Model based 1 Dose calculation algorithms!

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Ray Intersection Acceleration

Ray Intersection Acceleration Ray Intersection Acceleration Image Synthesis Torsten Möller Reading Physically Based Rendering by Pharr&Humphreys Chapter 2 - rays and transformations Chapter 3 - shapes Chapter 4 - intersections and

More information

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for Comparison of Two Image-Space Subdivision Algorithms for Direct Volume Rendering on Distributed-Memory Multicomputers Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc Dept. of Computer Eng. and

More information

Computer Graphics. - Spatial Index Structures - Philipp Slusallek

Computer Graphics. - Spatial Index Structures - Philipp Slusallek Computer Graphics - Spatial Index Structures - Philipp Slusallek Overview Last lecture Overview of ray tracing Ray-primitive intersections Today Acceleration structures Bounding Volume Hierarchies (BVH)

More information

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic

More information

Accelerated Raytracing

Accelerated Raytracing Accelerated Raytracing Why is Acceleration Important? Vanilla ray tracing is really slow! mxm pixels, kxk supersampling, n primitives, average ray path length of d, l lights, 2 recursive ray casts per

More information

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates

More information

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm Department of Computer Science and Engineering Sogang University, Korea Improving Memory

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

New Reliable Algorithm of Ray Tracing. through Hexahedral Mesh

New Reliable Algorithm of Ray Tracing. through Hexahedral Mesh Applied Mathematical Sciences, Vol. 8, 2014, no. 24, 1171-1176 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/10.12988/ams.2014.4159 New Reliable Algorithm of Ray Tracing through Hexahedral Mesh R. P.

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Real Time Ray Tracing

Real Time Ray Tracing Real Time Ray Tracing Programação 3D para Simulação de Jogos Vasco Costa Ray tracing? Why? How? P3DSJ Real Time Ray Tracing Vasco Costa 2 Real time ray tracing : example Source: NVIDIA P3DSJ Real Time

More information

Ray Casting Deformable Models on the GPU

Ray Casting Deformable Models on the GPU Ray Casting Deformable Models on the GPU Suryakant Patidar and P. J. Narayanan Center for Visual Information Technology, IIIT Hyderabad. {skp@research., pjn@}iiit.ac.in Abstract The GPUs pack high computation

More information

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y. COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering

More information

Interactive Ray Tracing: Higher Memory Coherence

Interactive Ray Tracing: Higher Memory Coherence Interactive Ray Tracing: Higher Memory Coherence http://gamma.cs.unc.edu/rt Dinesh Manocha (UNC Chapel Hill) Sung-Eui Yoon (Lawrence Livermore Labs) Interactive Ray Tracing Ray tracing is naturally sub-linear

More information

A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors

A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors Michael Steffen Electrical and Computer Engineering Iowa State University steffma@iastate.edu Joseph Zambreno Electrical

More information

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016 Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?

More information

MULTI-LEVEL GRID STRATEGIES FOR RAY TRACING Improving Render Time Performance for Row Displacement Compressed Grids

MULTI-LEVEL GRID STRATEGIES FOR RAY TRACING Improving Render Time Performance for Row Displacement Compressed Grids MULTI-LEVEL GRID STRATEGIES FOR RAY TRACING Improving Render Time Performance for Row Displacement Compressed Grids Vasco Costa, João Madeiras Pereira INESC-ID / IST, Rua Alves Redol 9, Apartado 1369,

More information

GPU-accelerated ray-tracing for real-time treatment planning

GPU-accelerated ray-tracing for real-time treatment planning Journal of Physics: Conference Series OPEN ACCESS GPU-accelerated ray-tracing for real-time treatment planning To cite this article: H Heinrich et al 2014 J. Phys.: Conf. Ser. 489 012050 View the article

More information

Review and Comparative Study of Ray Traversal Algorithms on a Modern GPU Architecture

Review and Comparative Study of Ray Traversal Algorithms on a Modern GPU Architecture Review and Comparative Study of Ray Traversal Algorithms on a Modern GPU Architecture Artur Lira dos Santos Voxar Labs - Informatics Center, UFPE Av. Jornalista Anibal Fernandes, s/n Cidade Universitária

More information

Ray-Box Culling for Tree Structures

Ray-Box Culling for Tree Structures JOURNAL OF INFORMATION SCIENCE AND ENGINEERING XX, XXX-XXX (2012) Ray-Box Culling for Tree Structures JAE-HO NAH 1, WOO-CHAN PARK 2, YOON-SIG KANG 1, AND TACK-DON HAN 1 1 Department of Computer Science

More information

Recall: Inside Triangle Test

Recall: Inside Triangle Test 1/45 Recall: Inside Triangle Test 2D Bounding Boxes rasterize( vert v[3] ) { bbox b; bound3(v, b); line l0, l1, l2; makeline(v[0],v[1],l2); makeline(v[1],v[2],l0); makeline(v[2],v[0],l1); for( y=b.ymin;

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

Accelerated Entry Point Search Algorithm for Real-Time Ray-Tracing

Accelerated Entry Point Search Algorithm for Real-Time Ray-Tracing Accelerated Entry Point Search Algorithm for Real-Time Ray-Tracing Figure 1: Four of the scenes used for testing purposes. From the left: Fairy Forest from the Utah 3D Animation Repository, Legocar from

More information

Ray Tracing with Sparse Boxes

Ray Tracing with Sparse Boxes Ray Tracing with Sparse Boxes Vlastimil Havran Czech Technical University Jiří Bittner Czech Technical University Vienna University of Technology Figure : (left) A ray casted view of interior of a larger

More information

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes B-KD rees for Hardware Accelerated Ray racing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek Saarland University, Germany Outline Previous Work B-KD ree as new Spatial Index Structure DynR

More information

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Final Project: Real-Time Global Illumination with Radiance Regression Functions Volume xx (200y), Number z, pp. 1 5 Final Project: Real-Time Global Illumination with Radiance Regression Functions Fu-Jun Luan Abstract This is a report for machine learning final project, which combines

More information

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Single Scattering in Refractive Media with Triangle Mesh Boundaries Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Cornell Univ. Grenoble Univ. Cornell Univ. Presented at SIGGRAPH

More information

Acceleration Structure for Animated Scenes. Copyright 2010 by Yong Cao

Acceleration Structure for Animated Scenes. Copyright 2010 by Yong Cao t min X X Y 1 B C Y 1 Y 2 A Y 2 D A B C D t max t min X X Y 1 B C Y 2 Y 1 Y 2 A Y 2 D A B C D t max t min X X Y 1 B C Y 1 Y 2 A Y 2 D A B C D t max t min A large tree structure change. A totally new tree!

More information

Building a Fast Ray Tracer

Building a Fast Ray Tracer Abstract Ray tracing is often used in renderers, as it can create very high quality images at the expense of run time. It is useful because of its ability to solve many different problems in image rendering.

More information

Recent Advances in Monte Carlo Offline Rendering

Recent Advances in Monte Carlo Offline Rendering CS294-13: Special Topics Lecture #6 Advanced Computer Graphics University of California, Berkeley Monday, 21 September 2009 Recent Advances in Monte Carlo Offline Rendering Lecture #6: Monday, 21 September

More information

Variance reduction using interframe coherence for animated scenes

Variance reduction using interframe coherence for animated scenes Computational Visual Media DOI 10.1007/s41095-015-0026-0 Vol. 1, No. 4, December 2015, 343 349 Research Article Variance reduction using interframe coherence for animated scenes Peng Zhou 1 ( ), Yanyun

More information

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

More information

Review for Ray-tracing Algorithm and Hardware

Review for Ray-tracing Algorithm and Hardware Review for Ray-tracing Algorithm and Hardware Reporter: 邱敬捷博士候選人 Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Summer, 2017 1 2017/7/26 Outline

More information

Duksu Kim. Professional Experience Senior researcher, KISTI High performance visualization

Duksu Kim. Professional Experience Senior researcher, KISTI High performance visualization Duksu Kim Assistant professor, KORATEHC Education Ph.D. Computer Science, KAIST Parallel Proximity Computation on Heterogeneous Computing Systems for Graphics Applications Professional Experience Senior

More information

Simpler and Faster HLBVH with Work Queues

Simpler and Faster HLBVH with Work Queues Simpler and Faster HLBVH with Work Queues Kirill Garanzha NVIDIA Keldysh Institute of Applied Mathematics Jacopo Pantaleoni NVIDIA Research David McAllister NVIDIA Figure 1: Some of our test scenes, from

More information

Lecture 12 - GPU Ray Tracing (2)

Lecture 12 - GPU Ray Tracing (2) INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 12 - GPU Ray Tracing (2) Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Exam Questions: Sampler

More information

high performance medical reconstruction using stream programming paradigms

high performance medical reconstruction using stream programming paradigms high performance medical reconstruction using stream programming paradigms This Paper describes the implementation and results of CT reconstruction using Filtered Back Projection on various stream programming

More information

Point Cloud Collision Detection

Point Cloud Collision Detection Point Cloud Collision Detection Uni Paderborn & Gabriel Zachmann Uni Bonn Point Clouds Modern acquisition methods (scanning, sampling synthetic objects) lead to modern object representations. Efficient

More information

Interactive and Scalable Ray-Casting of Metaballs on the GPU

Interactive and Scalable Ray-Casting of Metaballs on the GPU CIS 496 / EAS 499 Senior Project Project Proposal Specification Instructors: Norman I. Badler and Joseph T. Kider. Jr. Interactive and Scalable Ray-Casting of Metaballs on the GPU Jon McCaffrey Advisor:

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak

CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing. by Stephen Kazmierczak CS 563 Advanced Topics in Computer Graphics Irradiance Caching and Particle Tracing by Stephen Kazmierczak Introduction Unbiased light transport algorithms can sometimes take a large number of rays to

More information

Acceleration Data Structures for Ray Tracing

Acceleration Data Structures for Ray Tracing Acceleration Data Structures for Ray Tracing Travis Fischer and Nong Li (2007) Andries van Dam November 10, 2009 Acceleration Data Structures 1/35 Outline Introduction/Motivation Bounding Volume Hierarchy

More information

Comparison of hierarchies for occlusion culling based on occlusion queries

Comparison of hierarchies for occlusion culling based on occlusion queries Comparison of hierarchies for occlusion culling based on occlusion queries V.I. Gonakhchyan pusheax@ispras.ru Ivannikov Institute for System Programming of the RAS, Moscow, Russia Efficient interactive

More information

GPU Based Convolution/Superposition Dose Calculation

GPU Based Convolution/Superposition Dose Calculation GPU Based Convolution/Superposition Dose Calculation Todd McNutt 1, Robert Jacques 1,2, Stefan Pencea 2, Sharon Dye 2, Michel Moreau 2 1) Johns Hopkins University 2) Elekta Research Funded by and Licensed

More information

GPU ACCELERATED SELF-JOIN FOR THE DISTANCE SIMILARITY METRIC

GPU ACCELERATED SELF-JOIN FOR THE DISTANCE SIMILARITY METRIC GPU ACCELERATED SELF-JOIN FOR THE DISTANCE SIMILARITY METRIC MIKE GOWANLOCK NORTHERN ARIZONA UNIVERSITY SCHOOL OF INFORMATICS, COMPUTING & CYBER SYSTEMS BEN KARSIN UNIVERSITY OF HAWAII AT MANOA DEPARTMENT

More information

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies Published at IEEE Transactions on Visualization and Computer Graphics, 2010, Vol. 16, Num. 2, pp. 273 286 Tae Joon Kim joint work with

More information

Accelerated Ambient Occlusion Using Spatial Subdivision Structures

Accelerated Ambient Occlusion Using Spatial Subdivision Structures Abstract Ambient Occlusion is a relatively new method that gives global illumination like results. This paper presents a method to accelerate ambient occlusion using the form factor method in Bunnel [2005]

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

Acceleration Data Structures. Michael Doggett Department of Computer Science Lund university

Acceleration Data Structures. Michael Doggett Department of Computer Science Lund university Acceleration Data Structures Michael Doggett Department of Computer Science Lund university Ray tracing So far ray tracing sampling object intersections Today How do we make it faster? Performance = rays

More information

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II Computer Graphics - Ray-Tracing II - Hendrik Lensch Overview Last lecture Ray tracing I Basic ray tracing What is possible? Recursive ray tracing algorithm Intersection computations Today Advanced acceleration

More information

Ray Intersection Acceleration

Ray Intersection Acceleration Ray Intersection Acceleration CMPT 461/761 Image Synthesis Torsten Möller Reading Chapter 2, 3, 4 of Physically Based Rendering by Pharr&Humphreys An Introduction to Ray tracing by Glassner Topics today

More information

Interactive High Resolution Isosurface Ray Tracing on Multi-Core Processors

Interactive High Resolution Isosurface Ray Tracing on Multi-Core Processors Interactive High Resolution Isosurface Ray Tracing on Multi-Core Processors Qin Wang a Joseph JaJa a,1 a Institute for Advanced Computer Studies, Department of Electrical and Computer Engineering, University

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

Enhancing Visual Rendering on Multicore Accelerators with Explicitly Managed Memories *

Enhancing Visual Rendering on Multicore Accelerators with Explicitly Managed Memories * JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 28, 895-909 (2012) Enhancing Visual Rendering on Multicore Accelerators with Explicitly Managed Memories * KYUNGHEE CHO 1, SEONGGUN KIM 2 AND HWANSOO HAN

More information

COMP 175: Computer Graphics April 11, 2018

COMP 175: Computer Graphics April 11, 2018 Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive

More information

Interactive Isosurface Ray Tracing of Large Octree Volumes

Interactive Isosurface Ray Tracing of Large Octree Volumes Interactive Isosurface Ray Tracing of Large Octree Volumes Aaron Knoll, Ingo Wald, Steven Parker, and Charles Hansen Scientific Computing and Imaging Institute University of Utah 2006 IEEE Symposium on

More information

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL The Open University of Israel Department of Mathematics and Computer Science Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL Advanced Project in Computer Science

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell eading! equired:! Watt, sections 12.5.3 12.5.4, 14.7! Further reading:! A. Glassner.

More information

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17] 6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]

More information

Space-based Partitioning Data Structures and their Algorithms. Jon Leonard

Space-based Partitioning Data Structures and their Algorithms. Jon Leonard Space-based Partitioning Data Structures and their Algorithms Jon Leonard Purpose Space-based Partitioning Data Structures are an efficient way of organizing data that lies in an n-dimensional space 2D,

More information

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration Speeding Up Ray Tracing nthony Steed 1999, eline Loscos 2005, Jan Kautz 2007-2009 Optimisations Limit the number of rays Make the ray test faster for shadow rays the main drain on resources if there are

More information

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Hybrid CPU/GPU KD-Tree Construction for Versatile Ray Tracing

Hybrid CPU/GPU KD-Tree Construction for Versatile Ray Tracing Hybrid CPU/GPU KD-Tree Construction for Versatile Ray Tracing Jean-Patrick Roccia, Christophe Coustet, Mathias Paulin To cite this version: Jean-Patrick Roccia, Christophe Coustet, Mathias Paulin. Hybrid

More information

OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data

OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data OpenCL Implementation Of A Heterogeneous Computing System For Real-time Rendering And Dynamic Updating Of Dense 3-d Volumetric Data Andrew Miller Computer Vision Group Research Developer 3-D TERRAIN RECONSTRUCTION

More information

Fast and Lazy Build of Acceleration Structures from Scene Hierarchies

Fast and Lazy Build of Acceleration Structures from Scene Hierarchies Fast and Lazy Build of Acceleration Structures from Scene Hierarchies Warren Hunt William R. Mark Don Fussell Department of Computer Sciences The University of Texas at Austin ABSTRACT In this paper we

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

GPU-based fast gamma index calcuation

GPU-based fast gamma index calcuation 1 GPU-based fast gamma index calcuation 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Xuejun Gu, Xun Jia, and Steve B. Jiang Center for Advanced Radiotherapy Technologies

More information

arxiv: v1 [cs.gr] 9 Jan 2008

arxiv: v1 [cs.gr] 9 Jan 2008 Toward the Graphics Turing Scale on a Blue Gene Supercomputer arxiv:0801.1500v1 [cs.gr] 9 Jan 2008 Michael McGuigan Brookhaven National Laboratory Upton NY 11973 mcguigan@bnl.gov Abstract We investigate

More information

Bounding Volume Hierarchies versus Kd-trees on Contemporary Many-Core Architectures

Bounding Volume Hierarchies versus Kd-trees on Contemporary Many-Core Architectures Bounding Volume Hierarchies versus Kd-trees on Contemporary Many-Core Architectures Marek Vinkler Faculty of Informatics Masaryk University Vlastimil Havran Faculty of Electrical Engineering Czech Technical

More information

Efficient Data Structures for the Fast 3D Reconstruction of Voxel Volumes with Inhomogeneous Spatial Resolution

Efficient Data Structures for the Fast 3D Reconstruction of Voxel Volumes with Inhomogeneous Spatial Resolution Efficient Data Structures for the Fast 3D Reconstruction of Voxel Volumes with Inhomogeneous Spatial Resolution Benjamin Betz 1, Steffen Kieß 1, Michael Krumm 2, Gunnar Knupe 2, Tsegaye Eshete 2, Sven

More information