The Visual Computer

, Volume 23, Issue 3, pp 167–179 | Cite as

Ray-driven dynamic working set rendering

For complex volume scene graphs involving large point clouds
Original Article


Ray tracing a volume scene graph composed of multiple point-based volume objects (PBVO) can produce high quality images with effects such as shadows and constructive operations. A naive approach, however, would demand an overwhelming amount of memory to accommodate all point datasets and their associated control structures such as octrees. This paper describes an out-of-core approach for rendering such a scene graph in a scalable manner. In order to address the difficulty in pre-determining the order of data caching, we introduce a technique based on a dynamic, in-core working set. We present a ray-driven algorithm for predicting the working set automatically. This allows both the data and the control structures required for ray tracing to be dynamically pre-fetched according to access patterns determined based on captured knowledge of ray-data intersection. We have conducted a series of experiments on the scalability of the technique using working sets and datasets of different sizes. With the aid of both qualitative and quantitative analysis, we demonstrate that this approach allows the rendering of multiple large PBVOs in a volume scene graph to be performed on desktop computers.


Out-of-core Octree Point-based graphics Ray tracing Volume scene graph 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alexa, M., Behr, J., Cohen-Or, D., Fleishman, S., Silva, C.: Point set surfaces. In: Proceedings of IEEE Visualization, pp. 29–36 (2001)Google Scholar
  2. 2.
    Bentley, J.: Multidimensional binary trees used for associative searching. Commun. ACM 18(9), 509–517 (1975)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Blinn, J.: A generalized algebraic surface drawing. ACM Trans. Graph. 1(3), 235–256 (1982)CrossRefGoogle Scholar
  4. 4.
    Bloomenthal, J.: Polygonization of implicit surfaces. Comput. Aided Geom. Des. 5(4), 341–355 (1988)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Chen, M.: Combining point clouds and volume objects in volume scene graphs. In: Proceedings of Volume Graphics, New York, pp. 127–135 (2005)Google Scholar
  6. 6.
    Chen, M., Tucker, J.: Constructive volume geometry. Comput. Graph. Forum 19(4), 281–293 (2000)CrossRefGoogle Scholar
  7. 7.
    Chiang, Y.J., Farias, R., Silva, C.T., Wei, B.: A unified infrastructure for parallel out-of-core isosurface extraction and volume rendering of unstructured grids. In: Proceedings of IEEE Symposium on Parallel and Visualization and Graphics, pp. 59–66 (2003)Google Scholar
  8. 8.
    Chiang, Y.J., Silva, C.T.: I/O optimal isosurface extraction. In: Proceedings of IEEE Visualization ’97, pp. 293–300 (1997)Google Scholar
  9. 9.
    Chiang, Y.J., Silva, C.T.: Interactive isosurface extraction. In: Proceedings of IEEE Visualization ’98, pp. 167–174 (1998)Google Scholar
  10. 10.
    Cignoni, P., Montani, C., Puppo, E., Scopigno, R.: Optimal isosurface extraction from irregular volume data. In: Proceedings of IEEE Symposium on Volume Visualization, pp. 31–38 (1996)Google Scholar
  11. 11.
    Crawfis, R., Max, N.: Texture splats for 3D scalar and vector field visualization. In: Proceedings of IEEE Visualization, pp. 261–266 (1993)Google Scholar
  12. 12.
    Denning, P.J.: The working set model for program behavior. Commun. ACM 11(5), 323–333 (1968)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Farias, R., Silva, C.T.: Out-of-core rendering of large, unstructured grids. IEEE Comput. Graph. Appl. 21(4), 42–50 (2001)CrossRefGoogle Scholar
  14. 14.
    Gross, M.: The utility of points as primitives for visualization. In: Keynote Speech in IEEE Visualization (2005)Google Scholar
  15. 15.
    Grossman, J.P., Dally, W.J.: Point sample rendering. In: Proceedings of Eurographics Workshop on Rendering, pp. 181–192 (1998)Google Scholar
  16. 16.
    Hua, J., Qin, H.: Haptics-based dynamic implicit solid modeling. IEEE Trans. Visual. Comput. Graph. 10(5), 574–586 (2004)CrossRefGoogle Scholar
  17. 17.
    Kalra, D., Barr, A.: Guaranteed ray intersections with implicit surfaces. Comput. Graph. (Proc. SIGGRAPH ’89) 23(3), 297–306 (1989)CrossRefGoogle Scholar
  18. 18.
    Kure, T., Çatalyürek, Ü., Chang, C., Sussman, A., Saltz, J.: Visualization of large data sets with the active data repository. IEEE Comput. Graph. Appl. 21(4), 24–33 (2001)CrossRefGoogle Scholar
  19. 19.
    Leutenegger, P., Ma, K.L.: R-tree retrieval of unstructured volume data for visualization. In: J.M. Abello, J.S. Vitter (eds.) External Memory Algorithms, vol. 50, DIMACS Book Series. American Mathematical Society, Providence, RI (1999)Google Scholar
  20. 20.
    Levoy, M.: Display of surfaces from volume data. IEEE Comput. Graph. Appl. 8(3), 29–37 (1988)CrossRefGoogle Scholar
  21. 21.
    Lindstrom, P.: Out-of-core simplification of large polygonal models. In: Proceedings of ACM SIGGRAPH 2000, pp. 259–262 (2000)Google Scholar
  22. 22.
    Lindstrom, P., Pascucci, V.: Terrain simplification simplified: A general framework for view-dependent out-of-core visualization. IEEE Trans. Visual. Comput. Graph. 8(3), 239–254 (2002)CrossRefGoogle Scholar
  23. 23.
    Livnat, Y., Tricoche, X.: Interactive point-based isosurface extraction. In: Proceedings of IEEE Visualization, pp. 457–464 (2004)Google Scholar
  24. 24.
    Lorensen, W.E., Cline, H.E.: Marching cubes: A high resolution 3D surface con-struction algorithm. Comput. Graph. (Proc. SIGGRAPH ’87) 21(4), 163–169 (1987)CrossRefGoogle Scholar
  25. 25.
    Mueller, K., Yagel, R.: Fast perspective volume rendering with splatting by using a ray-driven approach. In: Proceedings of Visualization ’96, pp. 65–72 (1996)Google Scholar
  26. 26.
    Nielson, G.M.: Scattered data modeling. IEEE Comput. Graph. Appl. 13(1), 60–70 (1993)CrossRefMathSciNetGoogle Scholar
  27. 27.
    Nishimura, H., Hirai, A., Kawai, T., Shirakawa, I., Omura, K.: Object modeling by distribution function and a method of image generation. Comput. Graph. (Journal of Papers given at the Electronics Communication Conference ’85, in Japanese) J68-D(4) (1985)Google Scholar
  28. 28.
    Pfister, H., Zwicker, M., van Baar, J., Gross, M.: Surfels: surface elements as rendering primitives. In: Computer Graphics (Proc. SIGGRAPH 2000), pp. 335–342 (2000)Google Scholar
  29. 29.
    Pharr, M., Kolb, C., Gershbein, R., Hanrahan, P.: Rendering complex scenes with memory-coherent ray tracing. In: Computer Graphics (Proc. SIGGRAPH ’97), pp. 101–108 (1997)Google Scholar
  30. 30.
    Rusinkiewicz, S., Levoy, M.: QSplat: a multiresolution point rendering system for large meshes. In: Computer Graphics (Proc. SIGGRAPH 2000), pp. 343–252 (2000)Google Scholar
  31. 31.
    Schaufler, G., Jensen, H.W.: Ray tracing point sampled geometry. In: Proceedings of Eurographics Workshop on Rendering Techniques, pp. 319–328 (2000)Google Scholar
  32. 32.
    Shen, H.W., Chiang, L.J., Ma, K.L.: A fast volume rendering algorithm for time-varying fields using a time-space partitioning (tsp) tree. In: Proceedings of IEEE Visualization ’99, pp. 371–378 (1999)Google Scholar
  33. 33.
    Stamminger, M., Drettakis, G.: Interactive sampling and rendering for complex and procedural geometry. In: Proceedings of Eurographics Workshop on Rendering Techniques, pp. 151–162 (2001)Google Scholar
  34. 34.
    Sutton, P.M., Hansen, C.D.: Accelerated isosurface extraction in time-varying fields. IEEE Trans. Visual. Comput. Graph. 6(2), 98–107 (2000)CrossRefGoogle Scholar
  35. 35.
    Teller, S., Fowler, C., Funkhouse, T., Hanrahan, P.: Partitioning and ordering large radiosity computations. In: Computer Graphics (Proc. SIGGRAPH ’94), pp. 443–450 (1994)Google Scholar
  36. 36.
    Ueng, S.K., Sikorski, C., Ma, K.L.: Out-of-core streamline visualization on large unstructured meshes. IEEE Trans. Visual. Comput. Graph. 3(4), 370–380 (1997)CrossRefGoogle Scholar
  37. 37.
    Vitter, J.S.: External memory algorithms and data structures: dealing with massive data. ACM Comput. Survey 33(2), 209–271 (2001)CrossRefGoogle Scholar
  38. 38.
    von Rymon-Lipinski, B., Hanssen, N., Jansen, T., Ritter, L., Keeve, E.: Efficient point-based isosurface exploration using the span-triangle. In: Proceedings of IEEE Visualization, pp. 441–448 (2004)Google Scholar
  39. 39.
    Wald, I., Friedrich, H., Marmitt, G., Slusallek, P., Seidel, H.P.: Faster isosurface ray tracing using implicit kd-trees. IEEE Trans. Visual. Comput. Graph. 11(5), 562–572 (2005)CrossRefGoogle Scholar
  40. 40.
    Wald, I., Seidel, H.P.: Interactive ray tracing of point based models. In: Proceedings of Symposium on Point-based Graphics, pp. 9–16 (2005)Google Scholar
  41. 41.
    Westover, L.: Footprint evaluation for volume rendering. Comput. Graph. (Proc. SIGGRAPH ’90) 24(4), 367–376 (1990)CrossRefGoogle Scholar
  42. 42.
    Wyvill, G., McPheeters, C., Wyvill, B.: Data structures for soft objects. Vis. Comput. 2(4), 227–234 (1986)CrossRefGoogle Scholar
  43. 43.
    Zwicker, M., Pfister, H., Baar, J., Gross, M.: EWA volume splatting. In: Proceedings of IEEE Visualization, pp. 29–36 (2001)Google Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of Wales SwanseaSwanseaUK
  2. 2.School of ComputingUniversity of UtahSalt Lake CityUSA

Personalised recommendations