This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Introduction to 3D Non-Photorealistic Rendering: Silhouettes and Outlines Aaron Hertzmann Media Research Laboratory Department of Computer Science New York University http://www.mrl.nyu.edu/hertzmann/ 1 Introduction In these notes, we survey some of the basic tools used for non-photorealistic rendering of 3D scenes. We will primarily focus on detecting outlines of object shape: silhouettes, boundaries, and creases. (Hatching and shading, which are also very important for communicating shape, are discussed elsewhere in the course notes.) The algorithms in this section can be divided into algorithms that operate in the image space (2D), and algorithms that operate in world space (3D). 2 Outlines in Image Space The easiest way to detect silhouettes is to let your existing graphics packages do all the hard work. By rendering images in different ways and then post-processing, you can quickly produce pleasing results. Image-space non-photorealistic rendering algorithms use rendered (and, thus, sampled) im- ages, and are limited by the precision of the images. However, image space silhouette detection is sufficient for many applications. Exact algorithms that operate in 3D are described in Section 3. Some of the simplest silhouette algorithms were introduced by Gooch et al. , and are described in Chapter 10 of the course notes. A related method by Raskar and Cohen  allows variable-length line segments; see their paper for more details. 2.1 Outlines with Edge Detection A very simple way to generate a line drawing of a 3D scene would be to render the scene from the desired point of view, detect edges in the image, and display the edges. However, the edges of a 7-1 Introduction to 3D Non-Photorealistic Rendering: Silhouettes and Outlines photograph do not typically correspond to the silhouette edges that we want to illustrate . For instance, highly textured surfaces will generate many edges that are irrelevant to the object shape; likewise, no edge is detected between two overlapping objects with the same color. 2.1.1 Depth Map A better way to generate silhouettes is to render the image, extract the depth map, and apply an edge detector to the depth map [18, 6, 5] (Figure 1(a,b)). The depth map is an image where the intensity of a pixel is proportional to the depth of that point in the scene. The idea behind this method is that the variation in depth between adjacent pixels is usually small over a single object, but large between objects. Edge detection is described in Appendix A. Most graphics packages provide some way of extracting the depth map from an image 1 . 2.1.2 Normal Map A problem with this method is that it does not detect the boundaries between objects that are at the same depth, nor does it detect creases. (In more formal terms, it can only detect surface discontinuities.) We can augment the silhouette edges computed with the depth map by using surface normals as well....
View Full Document
This note was uploaded on 05/20/2011 for the course CAP 6701 taught by Professor Staff during the Spring '08 term at University of Florida.
- Spring '08