Ray tracing on programmable graphics hardware
Proceedings of the 29th annual conference on Computer graphics and interactive techniques
Proceedings of the conference on Visualization '01
Interactive Ray Tracing for Volume Visualization
IEEE Transactions on Visualization and Computer Graphics
Faster Isosurface Ray Tracing Using Implicit KD-Trees
IEEE Transactions on Visualization and Computer Graphics
ACM SIGGRAPH 2004 Course Notes
Ray tracing animated scenes using coherent grid traversal
ACM SIGGRAPH 2006 Papers
Ray tracing deformable scenes using dynamic bounding volume hierarchies
ACM Transactions on Graphics (TOG)
Packet-based whitted and distribution ray tracing
GI '07 Proceedings of Graphics Interface 2007
Advanced illumination techniques for GPU volume raycasting
ACM SIGGRAPH ASIA 2008 courses
Early Split Clipping for Bounding Volume Hierarchies
RT '07 Proceedings of the 2007 IEEE Symposium on Interactive Ray Tracing
OptiX: a general purpose ray tracing engine
ACM SIGGRAPH 2010 papers
Memory-efficient volume ray tracing on GPU for radiotherapy
SASP '11 Proceedings of the 2011 IEEE 9th Symposium on Application Specific Processors
Hi-index | 0.00 |
Ray tracing within a uniform grid volume is a fundamental process invoked frequently by many applications, especially radiation-dose calculation methods in radiotherapy. However, the conflicting features between the GPU memory architecture and the memory-accessing patterns of volume ray tracing lead to inefficient usage of GPU memory bandwidth and waste of capability of modern GPUs. To improve the ray tracing performance on GPU, we propose a lookup-table-based ray tracing method which is specially optimized towards the GPU memory system for processing a massive number of rays. The proposed method is based on a key observation that many of these applications normally involves a massive number of rays, but their ray tracing may not need to follow a specific execution order. Therefore, we divide the 3D space into many regions (called pyramids) and group together the rays falling into the same pyramid. For each ray group, the volume is rotated and resampled for their raytracing. This divide-and-rotate strategy allows the memory access of the ray tracing process to adopt a table-lookup approach and leads to better memory coalescing on GPU. Our proposed method was thoroughly evaluated in four volume setups with randomly-generated rays. The collapsed-cone convolution/superposition (CCCS) dose calculation method is also implemented with/without the proposed approach to verify the feasibility of our method. Compared with the direct GPU implementation of the popular 3DDDA algorithm, our method provides a speedup in the range of 1.91--2.94X for the volume settings we used. Major performance factors, including ray origins, volume size, and pyramid size, are also analyzed. The proposed technique was also found to be able to give a speedup of 1.61--2.17X over the original GPU implementation of the CCCS algorithm. Our experiment results indicate that the proposed approach is capable of offering better coalesced memory access which eventually boosts the raytracing performance on GPU. Moreover, our approach is conceptually simple and can be readily included into various applications.