## Ray-tracing Procedural Displacement Shaders (1998)

### Cached

### Download Links

- [www.graphicsinterface.org]
- [www.graphicsinterface.org]
- [www.cs.ubc.ca]
- [www.cs.ubc.ca]
- DBLP

### Other Repositories/Bibliography

Venue: | In Graphics Interface |

Citations: | 29 - 1 self |

### BibTeX

@INPROCEEDINGS{Heidrich98ray-tracingprocedural,

author = {Wolfgang Heidrich and Hans-peter Seidel},

title = {Ray-tracing Procedural Displacement Shaders},

booktitle = {In Graphics Interface},

year = {1998},

pages = {8--16}

}

### Years of Citing Articles

### OpenURL

### 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 B'ezier surfaces and implicit surfaces using B'ezier clipping and interval methods, respectively. Keyw...

### Citations

1003 |
Interval analysis
- Moore
- 1966
(Show Context)
Citation Context ...w of affine arithmetic, and describe in more detail how it can be applied to procedural shaders. 4 Affine Arithmetic Affine arithmetic, first introduced in [5], is an extension of interval arithmetic =-=[14]-=-. It has been successfully applied to several problems for which interval arithmetic had been used before [15, 22, 23]. This includes the adaptive enumeration of implicit surfaces [9]. Like interval a... |

573 |
An image synthesizer
- Perlin
- 1985
(Show Context)
Citation Context ...l raytracing systems, such as Alias [1], tessellate geometric objects with displacement shaders into a multitude of small triangles. Unlike in pipeline-based renderers, such as the Reyes-architecture =-=[17]-=-, these triangles have to be kept around, and cannot be rendered independently. This approach, however, defeats two of the reasons for using procedural displacements in the first place: resolution ind... |

328 |
Global and local deformations of solid primitives
- Barr
- 1984
(Show Context)
Citation Context ...tion points. The surface is the re-parameterized over the remaining parameter range. This process is recursively repeated until the intersection point has been determined with a given precision. Barr =-=[2, 3]-=- computed ray intersections with deformed objects by solving an initial value problem. This method works for both parametric and implicit surfaces, but only for relatively simple global deformations s... |

306 |
Simulation of Wrinkled Surfaces
- Blinn
- 1978
(Show Context)
Citation Context ...odeling system, can often be described by a few lines of code in a dedicated shading language, such as the RenderMan Shading Language [20, 10, 24]. In contrast to simple surface shaders and bump maps =-=[4]-=-, displacement shaders actually change the geometry of the underlying surface. This allows for effects like self-occlusion and self-shadowing, and results in more realistically looking images, in part... |

213 |
Texturing and Modeling: A Procedural Approach
- Ebert, ed
- 1994
(Show Context)
Citation Context ...cit surfaces using B'ezier clipping and interval methods, respectively. Keywords: ray-tracing, displacement-mapping, procedural shaders, affine arithmetic 1 Motivation Procedural displacement shaders =-=[7]-=- are an important means of specifying geometric detail and surface imperfections in synthetic scenes, which increases the realism of computer generated images. Small surface features, which would be t... |

138 | Interval analysis for Computer Graphics
- Snyder
- 1992
(Show Context)
Citation Context ...egula falsi. Unfortunately, the computation of Lipschitz bounds cannot be automated, and thus the use of this algorithm is limited to cases where it is acceptable for the user to specify them. Snyder =-=[22, 23]-=- and Duff [6] used interval arithmetic to recursively enumerate implicit surfaces with a hierarchical data structure. For each cell, the implicit function is evaluated using interval arithmetic. This ... |

136 |
Automatic Differentiation: Techniques and Applications
- Rall
- 1981
(Show Context)
Citation Context ...btain conservative bounds for the value of expressions as defined by the RenderMan standard. If bounds for the true mathematical value of derivatives are desired, we can use automatic differentiation =-=[21]-=-. In this case, we store the triple (x; @x=@u; @x=@v) for each expression x. The partial derivatives for each operation f(x) is then computed using the chain rule: f `sx; @x @u ; @x @v ' = ` f(x); f 0... |

131 |
The RenderMan Companion
- Upstill
- 1990
(Show Context)
Citation Context ...es, which would be tedious to model explicitly using a geometric modeling system, can often be described by a few lines of code in a dedicated shading language, such as the RenderMan Shading Language =-=[20, 10, 24]-=-. In contrast to simple surface shaders and bump maps [4], displacement shaders actually change the geometry of the underlying surface. This allows for effects like self-occlusion and self-shadowing, ... |

114 | The synthesis and rendering of eroded fractal terrains
- Musgrave, Kolb, et al.
- 1989
(Show Context)
Citation Context ...hmetic Affine arithmetic, first introduced in [5], is an extension of interval arithmetic [14]. It has been successfully applied to several problems for which interval arithmetic had been used before =-=[15, 22, 23]-=-. This includes the adaptive enumeration of implicit surfaces [9]. Like interval arithmetic, affine arithmetic can be used for manipulating imprecise values, and for evaluating functions over interval... |

111 | A Language for Shading and Lighting Calculations
- Hanrahan, Lawson
- 1990
(Show Context)
Citation Context ...es, which would be tedious to model explicitly using a geometric modeling system, can often be described by a few lines of code in a dedicated shading language, such as the RenderMan Shading Language =-=[20, 10, 24]-=-. In contrast to simple surface shaders and bump maps [4], displacement shaders actually change the geometry of the underlying surface. This allows for effects like self-occlusion and self-shadowing, ... |

105 | Rendering complex scenes with memory-coherent ray tracing
- Pharr, Kolb, et al.
- 1997
(Show Context)
Citation Context ...ld be subdivided into rectangular tiles, each of which is rendered separately, or a space filling curve could be used as in [18]. An even more promising approach would be the use of a ray cache as in =-=[19]-=-. However, these alternatives have not been explored yet. Another improvement of the algorithm, both in performance and in memory requirements, can be achieved by adapting the traversal order of the s... |

101 |
Interval arithmetic and recursive subdivision for implicit functions and constructive solid geometry, Computer Graphics
- Duff
- 1992
(Show Context)
Citation Context ...tunately, the computation of Lipschitz bounds cannot be automated, and thus the use of this algorithm is limited to cases where it is acceptable for the user to specify them. Snyder [22, 23] and Duff =-=[6]-=- used interval arithmetic to recursively enumerate implicit surfaces with a hierarchical data structure. For each cell, the implicit function is evaluated using interval arithmetic. This yields bounds... |

101 | Guaranteed Ray Intersection with Implicit Surfaces
- Kalra, Barr
- 1989
(Show Context)
Citation Context ... for both parametric and implicit surfaces, but only for relatively simple global deformations such as twists. It does not directly translate to complex procedural deformations. Later, Kalra and Barr =-=[13]-=- developed a method for finding guaranteed intersections with implicit surfaces. Lipschitz bounds (global bounds on the derivative of the implicit function) are used to spatially subdivide 3-space int... |

69 | Affine arithmetic and its applications to computer graphics. Anais do VII Sibgraphi
- JLD, Stolfi
- 1993
(Show Context)
Citation Context ... octree fashion, unless it is already small enough. Unlike Lipschitz bounds, interval bounds can be automatically computed by specific implementations of the basic library functions. Comba and Stolfi =-=[5]-=- and Figueiredo and Stolfi [9] used a similar algorithm, but replaced interval arithmetic with affine arithmetic, which they developed for this purpose. They showed that affine arithmetic produces sig... |

33 | Sampling Procedural Shaders Using Affine Arithmetic
- Heidrich, Slusallek, et al.
- 1998
(Show Context)
Citation Context ...thmetic with affine arithmetic, which they developed for this purpose. They showed that affine arithmetic produces significantly tighter bounds than interval arithmetic, although at a higher cost. In =-=[12]-=-, we used affine arithmetic to obtain conservative bounds for the value of procedural surface shaders over a given parameter interval. This can be used to drive a hierarchical sampling process, for ex... |

32 | Adaptive Enumeration of Implicit Surfaces with Affine Arithmetic
- Figueiredo, Stolfi
- 1995
(Show Context)
Citation Context ...already small enough. Unlike Lipschitz bounds, interval bounds can be automatically computed by specific implementations of the basic library functions. Comba and Stolfi [5] and Figueiredo and Stolfi =-=[9]-=- used a similar algorithm, but replaced interval arithmetic with affine arithmetic, which they developed for this purpose. They showed that affine arithmetic produces significantly tighter bounds than... |

27 | Geometry caching for ray-tracing displacement maps
- Pharr, Hanrahan
- 1996
(Show Context)
Citation Context ...hink of other methods for limiting memory usage. For example, the screen could be subdivided into rectangular tiles, each of which is rendered separately, or a space filling curve could be used as in =-=[18]-=-. An even more promising approach would be the use of a ray cache as in [19]. However, these alternatives have not been explored yet. Another improvement of the algorithm, both in performance and in m... |

25 |
Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design Using Interval Analysis
- Snyder
- 1992
(Show Context)
Citation Context ...egula falsi. Unfortunately, the computation of Lipschitz bounds cannot be automated, and thus the use of this algorithm is limited to cases where it is acceptable for the user to specify them. Snyder =-=[22, 23]-=- and Duff [6] used interval arithmetic to recursively enumerate implicit surfaces with a hierarchical data structure. For each cell, the implicit function is evaluated using interval arithmetic. This ... |

17 |
Ray tracing deformed surfaces
- Barr
(Show Context)
Citation Context ...tion points. The surface is the re-parameterized over the remaining parameter range. This process is recursively repeated until the intersection point has been determined with a given precision. Barr =-=[2, 3]-=- computed ray intersections with deformed objects by solving an initial value problem. This method works for both parametric and implicit surfaces, but only for relatively simple global deformations s... |

8 |
tracing trimmed rational surface patches
- Ray
- 1990
(Show Context)
Citation Context ...ively compute the closest intersection along a ray. 2 Prior Work Several related algorithms for finding intersections with a variety of different geometric objects have been published. Nishita et al. =-=[16]-=- developed B'ezier clipping to compute ray intersections with (rational) B'ezier patches. The algorithm first determines parameter regions that cannot contain intersection points. The surface is the r... |

5 |
Surface intersection using affine arithmetic
- Figueiredo
- 1996
(Show Context)
Citation Context ...n+1 has to be an upper bound for the error introduced by the approximation of f with f a . The process of generating affine approximations f a for arbitrary functions f is described in detail in [5], =-=[8]-=- and [9]. This process is relatively straightforward for most library functions. Once all library functions have been implemented using affine arithmetic, they can be used to compute conservative boun... |

4 |
The RenderMan Interface. Pixar
- Pixar
- 1989
(Show Context)
Citation Context ...es, which would be tedious to model explicitly using a geometric modeling system, can often be described by a few lines of code in a dedicated shading language, such as the RenderMan Shading Language =-=[20, 10, 24]-=-. In contrast to simple surface shaders and bump maps [4], displacement shaders actually change the geometry of the underlying surface. This allows for effects like self-occlusion and self-shadowing, ... |

1 | A compilation of affine approximations for math library functions - Heidrich - 1997 |