“A hardware architecture for surface splatting” by Weyrich, Heinzle, Aila, Fasnacht, Oetiker, et al. …

  • ©Tim Weyrich, Simon Heinzle, Timo Aila, Daniel B. Fasnacht, Stephan Oetiker, Mario Botsch, Cyril Flaig, Simon Mall, Kaspar Rohrer, Norbert Felber, Hubert Kaeslin, and Markus Gross


    We present a novel architecture for hardware-accelerated rendering of point primitives. Our pipeline implements a refined version of EWA splatting, a high quality method for antialiased rendering of point sampled representations. A central feature of our design is the seamless integration of the architecture into conventional, OpenGL-like graphics pipelines so as to complement triangle-based rendering. The specific properties of the EWA algorithm required a variety of novel design concepts including a ternary depth test and using an on-chip pipelined heap data structure for making the memory accesses of splat primitives more coherent. In addition, we developed a computationally stable evaluation scheme for perspectively corrected splats. We implemented our architecture both on reconfigurable FPGA boards and as an ASIC prototype, and we integrated it into an OpenGL-like software implementation. Our evaluation comprises a detailed performance analysis using scenes of varying complexity.


    1. Adams, B., Keiser, R., Pauly, M., Guibas, L., Gross, M., and Dutré, P. 2005. Efficient raytracing of deforming point-sampled surfaces. Computer Graphics Forum 24, 3.Google ScholarCross Ref
    2. Akeley, K. 1993. Reality Engine graphics. In Computer Graphics (Proc. ACM SIGGRAPH ’93), 109–116. Google ScholarDigital Library
    3. Akenine-Möller, T., and Ström, J. 2003. Graphics for the masses: a hardware rasterization architecture for mobile phones. ACM Transactions on Graphics (Proc. SIGGRAPH ’03) 22, 3, 801–808. Google ScholarDigital Library
    4. Alexa, M., Behr, J., Cohen-Or, D., Fleishman, S., Levin, D., and Silva, C. 2001. Point set surfaces. In Proc. IEEE Visualization, 21–28. Google ScholarDigital Library
    5. Botsch, M., Spernat, M., and Kobbelt, L. 2004. Phong splatting. In Proc. Eurographics Symposium on Point-Based Graphics 2004, 25–32. Google ScholarCross Ref
    6. Botsch, M., Hornung, A., Zwicker, M., and Kobbelt, L. 2005. High-quality surface splatting on today’s GPUs. In Proc. Eurographics Symposium on Point-Based Graphics 2005, 17–24. Google ScholarCross Ref
    7. Clark, J. 1982. The geometry engine: A VLSI geometry system for graphics. In Computer Graphics (Proc. ACM SIGGRAPH ’82), ACM, vol. 16, 127–133. Google ScholarDigital Library
    8. Deering, M., Winner, S., Schediwy, B., Duffy, C., and Hunt, N. 1988. The triangle processor and normal vector shader: a VLSI system for high performance graphics. In Computer Graphics (ACM SIGGRAPH ’88), ACM, vol. 22, 21–30. Google ScholarDigital Library
    9. Everitt, C. 2001. Interactive order-independent transparency. Tech. rep., Nvidia.Google Scholar
    10. Fleishman, S., Cohen-Or, D., Alexa, M., and Silva, C. T. 2003. Progressive point set surfaces. ACM Transactions on Graphics 22, 4. Google ScholarDigital Library
    11. Fuchs, H., Goldfeather, J., Hultquist, J., Spach, S., Austin, J., Brooks, F., Eyles, J., and Poulton, J. 1985. Fast spheres, shadows, textures, transparencies, and imgage enhancements in pixel-planes. In Computer Graphics (Proc. ACM SIGGRAPH ’85), ACM, vol. 19, 111–120. Google ScholarDigital Library
    12. Fuchs, H., Poulton, J., Eyles, J., Greer, T., Gold-Feather, J., Ellsworth, D., Molnar, S., Turk, G., Tebbs, B., and Israel, L. 1989. Pixel-planes 5: a heterogeneous multiprocessor graphics system using processor-enhanced memories. In Computer Graphics (Proc. ACM SIGGRAPH ’89), ACM, vol. 23, 79–88. Google ScholarDigital Library
    13. Gautron, P., Krivánek, J., Bouatouch, K., and Pattanaik, S. 2005. Radiance cache splatting: A GPU-friendly global illumination algorithm. In Proc. Eurographics Symposium on Rendering, 55–64. Google ScholarCross Ref
    14. Grossman, J. P., and Dally, W. 1998. Point sample rendering. In Rendering Techniques ’98, Springer, 181–192.Google Scholar
    15. Guennebaud, G., Barthe, L., and Paulin, M. 2006. Splat/mesh blending, perspective rasterization and transparency for point-based rendering. In Proc. Eurographics Symposium on Point-Based Graphics 2006. Google ScholarCross Ref
    16. Gumhold, S. 2003. Splatting illuminated ellipsoids with depth correction. In Proc. 8th International Fall Workshop on Vision, Modelling and Visualization 2003, 245–252.Google Scholar
    17. Heckbert, P. 1989. Fundamentals of Texture Mapping and Image Warping. Master’s thesis, University of California at Berkeley, Department of Electrical Engineering and Computer Science.Google Scholar
    18. Herout, A., and Zemcik, P. 2005. Hardware pipeline for rendering clouds of circular points. In Proc. WSCG 2005, 17–22.Google Scholar
    19. Hoff III, K. E., Keyser, J., Lin, M., Manocha, D., and Culver, T. 1999. Fast computation of generalized Voronoi diagrams using graphics hardware. In Computer Graphics (Proc. ACM SIGGRAPH 99), 277–286. Google ScholarDigital Library
    20. Ioannou, A., and Katevenis, M. 2001. Pipelined heap (priority queue) management for advanced scheduling in high speed networks. In Proc. IEEE Int. Conf. on Communications.Google Scholar
    21. Kobbelt, L., and Botsch, M. 2004. A survey of point-based techniques in computer graphics. Computers & Graphics 28, 801–814. Google ScholarDigital Library
    22. Levoy, M., and Whitted, T. 1985. The use of points as display primitives. Tech. Rep. TR 85-022, The University of North Carolina at Chapel Hill, Department of Computer Science.Google Scholar
    23. Lindholm, E., Kligard, M. J., and Moreton, H. 2001. A user-programmable vertex engine. In Computer Graphics (Proc. ACM SIGGRAPH ’01), 149–158. Google ScholarDigital Library
    24. Meinds, K., and Barenbrug, B. 2002. Resample hardware for 3D graphics. In Proc. ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, 17–26. Google ScholarDigital Library
    25. Mesa. The Mesa 3D graphics library. http://www.mesa3d.org/.Google Scholar
    26. Microsoft, 2002. Direct3D 9.0. http://microsoft.com/directx/.Google Scholar
    27. Molnar, S., Eyles, J., and Poulton, J. 1992. PixelFlow: high-speed rendering using image composition. In Computer Graphics (Proc. ACM SIGGRAPH ’92), ACM, vol. 26, 231–240. Google ScholarDigital Library
    28. Montrym, J. S., Baum, D. R., Dignam, D. L., and Migdal, C. J. 1997. InfiniteReality: a real-time graphics system. In Computer Graphics (Proc. ACM SIGGRAPH ’97), ACM Press, 293–302. Google ScholarDigital Library
    29. Morein, S., 2000. ATI Radeon – HyperZ Technology. ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, Hot3D session.Google Scholar
    30. Olano, M., and Greer, T. 1997. Triangle scan conversion using 2d homogeneous coordinates. In Proc. ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, 89–95. Google ScholarDigital Library
    31. OpenGL Architecture Review Board, and Shreiner, D. 2004. OpenGL Reference Manual: The Official Reference Document to OpenGL, Version 1.4. Addison Wesley. Google ScholarDigital Library
    32. Pauly, M., Keiser, R., Kobbelt, L., and Gross, M. 2003. Shape modeling with point-sampled geometry. ACM Transactions on Graphics (Proc. SIGGRAPH ’03) 22, 3, 641–650. Google ScholarDigital Library
    33. Pfister, H., Zwicker, M., van Baar, J., and Gross, M. 2000. Surfels: Surface elements as rendering primitives. In Computer Graphics (Proc. ACM SIGGRAPH ’00), 335–342. Google ScholarDigital Library
    34. Pineda, J. 1988. A parallel algorithm for polygon rasterization. In Computer Graphics (Proc. ACM SIGGRAPH ’88), ACM, vol. 22, 17–20. Google ScholarDigital Library
    35. Popescu, V., Eyles, J., Lastra, A., Steinhurst, J., England, N., and Nyland, L. 2000. The WarpEngine: An architecture for the post-polygonal age. In Computer Graphics (Proc. ACM SIGGRAPH ’00), 433–442. Google ScholarDigital Library
    36. Rao, V. N., and Kumar, V. 1988. Concurrent access of priority queues. IEEE Trans. Comput. 37, 12, 1657–1665. Google ScholarDigital Library
    37. Räsänen, J. 2002. Surface Splatting: Theory, Extensions and Implementation. Master’s thesis, Helsinki University of Technology.Google Scholar
    38. Ren, L., Pfister, H., and Zwicker, M. 2002. Object-space EWA surface splatting: A hardware accelerated approach to high quality point rendering. Computer Graphics Forum 21, 3, 461–470.Google ScholarCross Ref
    39. Sainz, M., and Pajarola, R. 2004. Point-based rendering techniques. Computers & Graphics 28, 869–879. Google ScholarDigital Library
    40. Schmittler, J., Wald, I., and Slusallek, P. 2002. Saar-COR: A hardware achitecture for ray tracing. In Proc. Workshop on Graphics Hardware 2002, 27–36. Google ScholarDigital Library
    41. Sigg, C., Weyrich, T., Botsch, M., and Gross, M. 2006. Gpu-based ray-casting of quadratic surfaces. In Proc. Eurographics Symposium on Point-Based Graphics 2006, 59–65. Google ScholarCross Ref
    42. Stamminger, M., and Drettakis, G. 2001. Interactive sampling and rendering for complex and procedural geometry. In Proc. 12th Eurographics Workshop on Rendering, 151–162. Google ScholarDigital Library
    43. Stewart, J., Bennett, E., and McMillan, L. 2004. Pixelview: A view-independent graphics rendering architecture. In Proc. ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, 75–84. Google ScholarDigital Library
    44. Torborg, J., and Kajiya, J. T. 1996. Talisman: commodity realtime 3D graphics for the PC. In Computer Graphics (Proc. ACM SIGGRAPH ’96), 353–363. Google ScholarDigital Library
    45. Wand, M., Fischer, M., Peter, I., Meyer auf der Heide, F., and Strasser, W. 2001. The randomized z-buffer algorithm: interactive rendering of highly complex scenes. In Computer Graphics (ACM SIGGRAPH ’01), ACM Press, 361–370. Google ScholarDigital Library
    46. Westover, L. 1990. Footprint evaluation for volume rendering. In Computer Graphics (Proc. ACM SIGGRAPH ’90), ACM, 367–376. Google ScholarDigital Library
    47. Whitted, T., and Kajiya, J. 2005. Fully procedural graphics. In Proc. ACM SIGGRAPH/Eurographics Workshop on Graphics Hardware, 81–90. Google ScholarDigital Library
    48. Woop, S., Schmittler, J., and Slusallek, P. 2005. RPU: a programmable ray processing unit for realtime ray tracing. ACM Transactions on Graphics (SIGGRAPH 2005) 24, 3, 434–444. Google ScholarDigital Library
    49. Zhang, Y., and Pajarola, R. 2006. Single-pass point rendering and transparent shading. In Proc. Eurographics Symposium on Point-Based Graphics 2006, 37–48. Google ScholarCross Ref
    50. Zwicker, M., Pfister., H., Baar, J. V., and Gross, M. 2001. Surface splatting. In Computer Graphics (Proc. ACM SIGGRAPH ’01), 371–378. Google ScholarDigital Library
    51. Zwicker, M., Räsänen, J., Botsch, M., Dachsbacher, C., and Pauly, M. 2004. Perspective accurate splatting. In Proc. Graphics Interface, 247–254. Google ScholarDigital Library

ACM Digital Library Publication: