Anisotropic Noise

Anisotropic Noise

Anisotropic Noise Alexander Goldberg Matthias Zwicker Fredo´ Durand University of California, San Diego MIT CSAIL (a) (b) (a) (b) Anisotropic noise Isotropic filtering, no distortion compensation Figure 1: We present a technique for fast, high quality rendering of noise textures in interactive applications. We perform anisotropic filtering, which leads to higher image quality compared to isotropic filtering, as shown by the difference between close-ups (a). Our method uses 2D noise tiles and we present a technique to compensate for parametric distortions to achieve similar effects as with solid texturing. Our technique avoids texture distortions as shown by the difference between close-ups (b). Abstract to other textures to provide detail and a more natural look. Programmable graphics hardware makes it possible to generate pro- Perlin [1985] originally proposed to generate the noise bands pro- cedural noise textures on the fly for interactive rendering. However, cedurally. His approach amounts to evaluating a low-pass filter on filtering and antialiasing procedural noise involves a tradeoff be- the fly when the texture is sampled. With programmable graph- tween aliasing artifacts and loss of detail. In this paper we present ics hardware it is possible to use procedural noise for interactive a technique, targeted at interactive applications, that provides high- rendering [Mine´ and Neyret 1999; Hart 2001; Green 2005; Olano quality anisotropic filtering for noise textures. We generate noise 2005]. This is desirable because only minimal texture memory must tiles directly in the frequency domain by partitioning the frequency be allocated for noise evaluation. However, it is difficult to perform domain into oriented subbands. We then compute weighted sums high-quality antialiasing of procedural noise. Antialiasing is typ- of the subband textures to accurately approximate noise with a de- ically achieved by truncating the noise frequencies to the Nyquist sired spectrum. This allows us to achieve high-quality anisotropic limit of the display. In theory, this can be done simply by omitting filtering. Our approach is based solely on 2D textures, avoiding the the summation of high frequency noise bands. Unfortunately, be- memory overhead of techniques based on 3D noise tiles. We de- cause Perlin noise is not narrowly band-limited, there is always a vise a technique to compensate for texture distortions to generate trade-off between aliasing and blurriness. uniform noise on arbitrary meshes. We develop a GPU-based im- Lewis [1989] has addressed this problem with two alternative algo- plementation of our technique that achieves similar rendering per- rithms that allow the user to control the noise spectrum more pre- formance as state-of-the-art algorithms for procedural noise. In ad- cisely. Cook and DeRose [2005] point out, however, that Lewis’ ap- dition, it provides anisotropic filtering and achieves superior image proach is not sufficient to solve the loss-of-detail vs. aliasing prob- quality. lem. Instead, they propose to construct noise bands using wavelet analysis. Wavelet noise bands are more narrow-band than Perlin 1 Introduction noise and allow for more accurate antialiasing. An alternative ap- proximation of isotropic antialiasing is to pre-filter the color look- Noise functions are widely used in computer graphics to efficiently up table as proposed by Hart et al. [1999]. It is well known, how- generate complex textures resembling natural phenomena. Essen- ever, that high-quality texture antialiasing requires anisotropic fil- tially, these textures consist of a sum of band-limited noise images. tering, which is not supported by these techniques. By applying carefully designed functions to the noise bands, one In this paper we propose a technique, targeted at interactive appli- can produce a variety of textures that resemble wood, marble, or cations, to efficiently generate and render noise textures with high- clouds, etc. [Peachey 2003]. Noise functions are also often added quality anisotropic antialiasing. As shown in Figure 1, our tech- nique provides higher-quality antialiasing than isotropic filters such as wavelet noise. It also avoids the use of 3D textures. We generate noise textures by tiling the frequency domain into ori- ented subbands. Typically, we use between four and eight bands at different orientations. Our approach is similar to wavelet noise in that we precompute texture tiles instead of sampling noise proce- durally. However, the frequency content of our tiles is strongly ori- ented and anisotropic. This allows us to perform anisotropic filter- ing during rendering, leading to higher image quality. Our approach is also based solely on 2D textures, which reduces the storage re- quirements compared to 3D textures by an order of magnitude. If we were to na¨ıvely generate noise in 2D texture space, however, We can express the subband filters in the frequency domain explic- j distortions of the surface parameterization would lead to nonuni- itly in a polar-separable form Di,j (r, θ) = Gi(θ)H(2 r), where i form frequencies on the surface. We address these problems by an- and j are indices for orientation and scale respectively. The angular alyzing and compensating for the parametric distortions (Figure 1, and radial parts are defined as compare uniform noise features on the left to stretched texture on 2(K−1) the right). We locally compute weighted combinations of the ori- α2 cos θ − πi , |θ − πi | < π ented subbands that approximate a uniform frequency spectrum on K K K 2 Gi(θ) = the surface. We present a GPU implementation of our technique 0, otherwise that includes high-quality anisotropic antialiasing. In addition, it achieves similar rendering performance as state-of-the-art procedu- ral algorithms. cos2 π log 4r , π < r < π 2 2 π 4 2 In summary, we make the following contributions: H(r) = π 4, r ≤ 4 (1) • We propose a novel construction of noise textures by tiling the 0, r ≥ π frequency domain into oriented subbands. 4 • We introduce a method to generate uniform 2D noise on pa- where K is the number of orientations, i ∈ [0,K − 1], and i−1 p rameterized surfaces. Our approach compensates for distor- αK = 2 (K − 1)!/ K[2(K − 1)]!. Note that we use the tions of the parameterization. square of the filters proposed by Portilla and Simoncelli [2000]. This is because they apply the filters twice in their scheme, first • We develop an algorithm for anisotropic filtering of noise tex- in the analysis and then in the synthesis step. Therefore, our fil- tures based on oriented noise bands. ters correspond to a combined analysis-synthesis sequence in their framework. • We demonstrate a GPU implementation that provides anisotropic filtering and higher image quality than procedural techniques. Our implementation produces good results with a Spectral Noise Synthesis. We now describe how to precompute single 256×256 RGBA texture tile, requiring only 256KB of noise textures in the spatial domain using the frequency domain memory. filters discussed above. Our approach is illustrated in Figure 2: Our technique has three major components: In Section 2 we de- 1. Create a frequency spectrum F consisting of complex valued, scribe how we construct oriented 2D noise tiles using frequency uniform white noise in the Fourier domain. domain filtering. The main feature of this approach is that we can approximate arbitrary noise spectra by simply computing weighted 2. Decompose the uniform noise spectrum into oriented sub- D sums of the texture tiles. In Section 3 we propose a method to gen- bands by multiplying with the filters i,j described above. N = FD erate uniform noise on arbitrary meshes with two-dimensional tex- We obtain noise subbands i,j i,j , which are narrowly ture coordinates. This ensures that our noise textures look like solid band-limited in scale and orientation. textures, without exhibiting distortion artifacts due to the underly- 3. Perform an inverse Fourier transform of each individual sub- ing 2D parameterization. In Section 4 we present our rendering al- band Ni,j to get the band-limited spatial domain noise images gorithm with anisotropic antialiasing. We show that this improves ni,j . image quality over state-of-the-art isotropic noise filtering. Finally, we provide an implementation of our technique for programmable Because the frequency domain decomposition is invertible, the fre- graphics hardware in Section 5. quency spectrum of the sum of all spatial domain noise images corresponds to the uniform white noise that we used as an in- put in the first step. By summing only select subband images we 2 Frequency Domain Noise Construction can quickly generate noise images with custom-tailored frequency spectra. Note that we sum the subband images directly in the spa- The main idea of our approach is to construct noise subbands using tial domain. Therefore, this approach is well suited for interactive frequency domain filtering. We generate noise bands that are not applications and GPU implementation. only narrowly band-limited in scale, but they also have a preferred orientation. We next discuss a frequency domain decomposition For example as shown in Figure 3, summing all orientations of the that partitions the frequency domain into oriented subbands. Then same scale leads to noise that is isotropically band-limited, similar we show how we construct noise textures for each subband. to wavelet noise [Cook and DeRose 2005]. However, we can also generate noise images with anisotropic spectra. This is the core idea of our algorithms that we present Sections 3 and 4. Frequency Domain Decomposition. We partition the fre- quency domain into subbands using steerable filters [Simoncelli and Freeman 1995; Portilla and Simoncelli 2000]. These filters 3 Steerable Noise on Surfaces provide a number of properties that are crucial for our application. First, each filter defines a subband that is tightly localized in scale Mapping 2D textures onto 3D surfaces will almost always intro- and orientation.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us