Proceedings: GI 1998

Ray-Tracing Procedural Displacement Shaders

Wolfgang Heidrich , Hans-Peter Seidel

Proceedings of Graphics Interface '98: Vancouver, British Columbia, Canada, 18 - 20 June 1998, 8-16

DOI 10.20380/GI1998.02

  • BibTeXex

    @inproceedings{heidrich-gi98,
     title = {Ray-Tracing Procedural Displacement Shaders},
     author = {Wolfgang Heidrich and Hans-Peter Seidel},
     booktitle ={Proceedings of the Graphics Interface 1998 Conference, June 18-20, 1998, Vancouver, BC, Canada},
     year = {1998},
     month = {June},
     pages = {8--16},
     url = {http://graphicsinterface.org/wp-content/uploads/gi1998-2.pdf}
    }
    

Abstract

Displacement maps and procedural displacement shaders are a widely used approach of specifying geometric detail and increasing the visual complexity of a scene. While it is relatively straightforward to handle displacement shaders in pipeline based rendering systems such as the Reyes-architecture, it is much harder to efficiently integrate displacement-mapped surfaces in ray-tracers. Many commercial ray-tracers tessellate the surface into a multitude of small triangles. This introduces a series of problems such as excessive memory consumption and possibly undetected surface detail. In this paper we describe a novel way of ray-tracing procedural displacement shaders directly, that is, without introducing intermediate geometry. Affine arithmetic is used to compute bounding boxes for the shader over any range in the parameter domain. The method is comparable to the direct ray-tracing of Bezier surfaces and implicit surfaces using Bezier clipping and interval methods, respectively.