This preview shows pages 1–3. Sign up to view the full content.

1 Texture and Radiosity Lecture 14 CPSC 578/478 Spring 2005 Notes: Assignment # 2 now due MARCH 4, 11 am (don’t leave without getting confirmation) Exams returned at end of class Mean ~= Median = 61 Range 40 to 85: too long for everyone Overall 0.1*Assign1+.2*Q1= 30, median= 21 Notes: Reading for this week: Text, Chapter 19 Text, Chapter 23 Jianye’s office hours Wed, 6-9pm in the Zoo The Quest for Visual Realism ± For more info on the computer artwork of Jeremy Birn see http://www.3drender.com/jbirn/productions.html Three-Dimensional or Solid Textures The textures that we have discussed to this point are two-dimensional functions mapped onto two-dimensional surfaces. Another approach is to consider a texture as a function defined over a three-dimensional surface. Textures of this type are called solid textures . Solid textures are very effective at representing some types of materials such as marble and wood. Generally, solid textures are defined as procedural functions rather than as tabularized or sampled functions as used in 2D (Any guesses why?) The approach that we wil explore is based on An Image Synthesizer , by Ken Perlin, SIGGRAPH '85. The vase to the right is from this paper. Noise and Turbulence When we say we want to create an "interesting" texture, we usually don't care exactly what it looks like -- we're only concerned with the overall appearance. We want to add random variations to our texture, but in a controlled way. Noise and turbulence are very useful tools for doing just that. A noise function is a continuous function that varies throughout space at a uniform frequency. To create a simple noise function, consider a 3D lattice, with a random value assigned to each triple of integer coordinates:

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
2 Turbulence Noise is a good start, but it looks pretty ugly all by itself. We can use noise to make a more interesting function called turbulence. A simple turbulence function can be computed by summing many different frequencies of noise functions: One Frequency Two Frequencies Three Frequencies Four Frequencies (see equation in text –p.197) Marble Example We can use turbulence to generate beautiful 3D marble textures, such as the marble vase created by Ken Perlin. The idea is simple. We fill space with black and white stripes, using a sine wave function. Then we use turbulence at each point to distort those planes. By varying the frequency of the sin function, you get a few thick veins, or many thin veins. Varying the amplitude of the turbulence function controls how distorted the veins will be. Marble = sin(f * (x + A*Turb(x,y,z))) The Best of All Worlds All these texture mapping modes are great! The problem is, no one of them does everything well. Suppose we allowed several textures to be applied to each primitive during rasterization… Multipass vs. Multitexture Multipass (the old way) - Render the image in multiple passes, and "add" the results.
This is the end of the preview. Sign up to access the rest of the document.