Issue No. 03 - May/June (2008 vol. 14)
We present a new method for the interactive rendering of isosurfaces using ray casting on multi-core processors. This method consists of a combination of an object-order traversal that coarsely identifies possible candidate 3D data blocks for each small set of contiguous pixels, and an isosurface ray casting strategy tailored for the resulting limited-size lists of candidate 3D data blocks. While static screen partitioning is widely used in the literature, our scheme performs dynamic allocation of groups of ray casting tasks to ensure almost equal loads among the different threads running on multi-cores while maintaining spatial locality. We also make careful use of memory management environment commonly present in multi-core processors. We test our system on a two-processor Clovertown platform, each consisting of a Quad-Core 1.86 GHz Intel Xeon Processor, for a number of widely different benchmarks. The detailed experimental results show that our system is efficient and scalable, and achieves high cache performance and excellent load balancing, resulting in an overall performance that is superior to any of the previous algorithms. In fact, we achieve an interactive isosurface rendering on a 1024x1024 screen for all the datasets tested up to the maximum size of the main memory of our platform.
Ray tracing, Interactive isosurface rendering, Ray casting, Multicore
J. JaJa and Q. Wang, "Interactive High-Resolution Isosurface Ray Casting on Multicore Processors," in IEEE Transactions on Visualization & Computer Graphics, vol. 14, no. , pp. 603-614, 2007.