“Cache-Oblivious Ray Reordering” by Moon, Byun, Kim, Claudio, Kim, et al. …

  • ©Bochang Moon, Yongyoung Byun, Tae-Joon Kim, Pio Claudio, Hye-sun Kim, Yun-ji Ban, Seung-Woo Nam, and Sung-Eui Yoon


    We present a cache-oblivious ray reordering method for ray tracing. Many global illumination methods such as path tracing and photon mapping use ray tracing and generate lots of rays to simulate various realistic visual effects. However, these rays tend to be very incoherent and show lower cache utilizations during ray tracing of models. In order to address this problem and improve the ray coherence, we propose a novel Hit Point Heuristic (HPH) to compute a coherent ordering of rays. The HPH uses the hit points between rays and the scene as a ray reordering measure. We reorder rays by using a space-filling curve based on their hit points. Since a hit point of a ray is available only after performing the ray intersection test with the scene, we compute an approximate hit point for the ray by performing an intersection test between the ray and simplified representations of the original models. Our method is a highly modular approach, since our reordering method is decoupled from other components of common ray tracing systems. We apply our method to photon mapping and path tracing and achieve more than an order of magnitude performance improvement for massive models that cannot fit into main memory, compared to rendering without reordering rays. Also, our method shows a performance improvement even for ray tracing small models that can fit into main memory. This performance improvement for small and massive models is caused by reducing cache misses occurring between different memory levels including the L1/L2 caches, main memory, and disk. This result demonstrates the cache-oblivious nature of our method, which works for various kinds of cache parameters. Because of the cache-obliviousness and the high modularity, our method can be widely applied to many existing ray tracing systems and show performance improvements with various models and machines that have different cache parameters.


    1. Arge, L., Brodal, G. S., and Fagerberg, R. 2005. Cache-Oblivious Data Structures in Handbook of Data Structures. CRC Press.
    2. Boulos, S., Wald, I., and Benthin, C. 2008. Adaptive ray packet reordering. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 131–138.
    3. Budge, B., Bernardin, T., Stuart, J. A., Sengupta, S., Joy, K. I., and Owens, J. D. 2009. Out-of-Core data management for path tracing on hybrid resources. Comput. Graph. Forum 28, 2, 385–396.
    4. Christensen, P. H., Laur, D. M., Fong, J., Wooten, W. L., and Batali, D. 2003. Ray differentials and multiresolution geometry caching for distribution ray tracing in complex scenes. Comput. Graph. Forum 22, 3, 543–552.
    5. Cline, D., Steele, K., and Egbert, P. K. 2006. Lightweight bounding volumes for ray tracing. J. Graph. Tools 11, 4, 61–71.
    6. Cook, R. L., Halstead, J., Planck, M., and Ryu, D. 2007. Stochastic simplification of aggregate detail. ACM Trans. Graph. 26, 3, 79. 
    7. DeMarle, D. E., Gribble, C. P., and Parker, S. G. 2004. Memory-Savvy distributed interactive ray tracing. In Proceedings of the EuroGraphics Symposium on Parallel Graphics and Visualization (EGPGV). 93–100. 
    8. Diaz-Gutierrez, P., Bhushan, A., Gopi, M., and Pajarola, R. 2005. Constrained strip generation and management for efficient interactive 3D rendering. In Proceedings of the Computer Graphics International Conference. 115–121. 
    9. Djeu, P., Hunt, W., Wang, R., Elhassan, I., Stoll, G., and Mark, W. R. 2007. Razor: An architecture for dynamic multiresolution ray tracing. Tech. rep. TR-07-52, The University of Texas at Austin, Department of Computer Sciences. January 24.
    10. Ernst, M. and Greiner, G. 2008. Multi bounding volume hierarchies. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 35–40.
    11. Frigo, M., Leiserson, C., Prokop, H., and Ramachandran, S. 1999. Cache-Oblivious algorithms. In Foundations of Computer Science. 285–297. 
    12. Garland, M. and Heckbert, P. 1997. Surface simplification using quadric error metrics. In Proceedings of SIGGRAPH 97. 209–216. 
    13. Gribble, C. P. and Ramani, K. 2008. Coherent ray tracing via stream filtering. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 59–66.
    14. Havran, V. 1997. Cache sensitive representation for the bsp tree. In Proceedings of Compugraphics Conference.
    15. Heckbert, P. S. and Hanrahan, P. 1984. Beam tracing polygonal objects. In Proceedings of SIGGRAPH. ACM Press, 119–127.
    16. Hennessy, J. L., Patterson, D. A., and Goldberg, D. 2007. Computer Architecture, A Quantitative Approach. Morgan Kaufmann.
    17. Jensen, H. W. 2005. Realistic Image Synthesis Using Photon Mapping. AK Peters. 
    18. Kim, T.-J., Byun, Y., Kim, Y., Moon, B., Lee, S., and Yoon, S.-E. 2010a. HCCMeshes: Hierarchical-Culling oriented compact meshes. Comput. Graph. Forum 29, 2. To appear.
    19. Kim, T.-J., Moon, B., Kim, D., and Yoon, S.-E. 2010b. RACBVHs: Random-accessible compressed bounding volume hierarchies. IEEE Trans. Visualiz. Comput. Graph. 16, 2, 273–286.
    20. Lauterbach, C., Garland, M., Sengupta, S., Luebke, D., and Manocha, D. 2009b. Fast bvh construction on gpus. Comput. Graph. Forum 28, 2, 375–384.
    21. Lauterbach, C., Yoon, S.-E., Tang, M., and Manocha, D. 2008. ReduceM: Interactive and memory efficient ray tracing of large models. Comput. Graph. Forum 27, 4, 1313–1321.
    22. Lauterbach, C., Yoon, S.-E., Tuft, D., and Manocha, D. 2006. RT-DEFORM: Interactive ray tracing of dynamic scenes using bvhs. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 39–46.
    23. Luebke, D., Reddy, M., Cohen, J., Varshney, A., Watson, B., and Huebner, R. 2002. Level of Detail for 3D Graphics. Morgan-Kaufmann.
    24. Mansson, E., Munkberg, J., and Akenine-Moller, T. 2007. Deep coherent ray tracing. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 79–85.
    25. Navratil, P., Fussell, D., Lin, C., and Mark, W. 2007. Dynamic ray scheduling to improve ray coherence and bandwidth utilization. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 95–104.
    26. Pharr, M. and Humphreys, G. 2004. Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann Publishers, San Francisco, CA. 
    27. Pharr, M., Kolb, C., Gershbein, R., and Hanrahan, P. 1997. Rendering complex scenes with memory-coherent ray tracing. In Proceedings of SIGGRAPH. 101–108. 
    28. Reshetov, A. 2007. Faster ray packets—triangle intersection through vertex culling. In Proceedings of the IEEE Symposium on Interactive Ray Tracing. 105–112. 
    29. Reshetov, A., Soupikov, A., and Hurley, J. 2005. Multi-level ray tracing algorithm. ACM Trans. Graph. 24, 3, 1176–1185. 
    30. Sagan, H. 1994. Space-Filling Curves. Springer-Verlag.
    31. Shirley, P. and Morley, R. K. 2003. Realistic Ray Tracing, 2nd Ed. AK Peters.
    32. Silva, C., Chiang, Y.-J., Correa, W., El-Sana, J., and Lindstrom, P. 2002. Out-of-Core algorithms for scientific visualization and computer graphics. In IEEE Visualization Course Notes.
    33. Steinhurst, J., Coombe, G., and Lastra, A. 2005. Reordering for cache conscious photon mapping. In Proceedings of the Graphics Interface Conference. 97–104.
    34. Stephens, A., Boulos, S., Bigler, J., Wald, I., and Parker, S. G. 2006. An application of scalable massive model interaction using shared memory systems. In Proceedings of the EuroGraphics Symposium on Parallel Graphics and Visualization (EGPGV). 19–26.
    35. Tabellion, E. and Lamorlette, A. 2004. An approximate global illumination system for computer generated films. ACM Trans. Graph. 23, 3, 469–476. 
    36. van Emde Boas, P. 1977. Preserving order in a forest in less than logarithmic time and linear space. Inform. Process. Lett. 6, 80–82.
    37. Vitter, J. S. 2001. External memory algorithms and data structures: dealing with massive data. ACM Comput. Surv. 33, 2, 209–271.
    38. Wald, I., Boulos, S., and Shirley, P. 2007a. Ray tracing deformable scenes using dynamic bounding volume hierarchies. ACM Trans. Graph. 26, 1, 6. 
    39. Wald, I., Dietrich, A., and Slusallek, P. 2004. An interactive out-of-core rendering framework for visualizing massively complex models. In Proceedings of the EG Symposium on Rendering. 82–91.
    40. Wald, I., Mark, W. R., Günther, J., Boulos, S., Ize, T., Hunt, W., Parker, S. G., and Shirley, P. 2007b. State of the art in ray tracing animated scenes. In Eurographics State of the Art Reports.
    41. Wald, I., Slusallek, P., and Benthin, C. 2001. Interactive distributed ray tracing of highly complex models. In Proceedings of the EG Workshop on Rendering. 277–288.
    42. Yoon, S.-E., Gobbetti, E., Kasik, D., and Manocha, D. 2008. Real-Time Massive Model Rendering. Morgan & Claypool.
    43. Yoon, S.-E. and Lindstrom, P. 2006. Mesh layouts for block-based caches. IEEE Trans. Visualiz. Comput. Graph. 12, 5, 1213–1220. 
    44. Yoon, S.-E., Lindstrom, P., Pascucci, V., and Manocha, D. 2005. Cache-Oblivious mesh layouts. ACM Trans. Graph. 24, 3, 886–893.
    45. Yoon, S.-E. and Manocha, D. 2006. Cache-Efficient layouts of bounding volume hierarchies. Comput. Graph. Forum 25, 3, 507–516.

ACM Digital Library Publication: