CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184...

13
CS-184: Computer Graphics Lecture #11: Texture and Other Maps Prof. James O’Brien University of California, Berkeley V2013-S-11-1.0 2 Today Texture Mapping 2D 3D Procedural Bump and Displacement Maps Environment Maps Shadow Maps 1 2 Sunday, March 3, 13

Transcript of CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184...

Page 1: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

CS-184: Computer Graphics

Lecture #11: Texture and Other Maps

Prof. James O’BrienUniversity of California, Berkeley

V2013-S-11-1.0

2

Today

• Texture Mapping• 2D• 3D• Procedural

• Bump and Displacement Maps• Environment Maps• Shadow Maps

1

2Sunday, March 3, 13

Page 2: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Surface Detail• Representing all detail in an image with polygons would

be cumbersome

3

Specific details

Structured noisePattern w/ randomnessSection through volumeBumps

2D Texture Mapping of Images• Use a 2D image and map it to the surface of an object

4

ColorSpecular

Bump

3

4Sunday, March 3, 13

Page 3: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

2D Texture Mapping of Images• Example of texture distortion

5

Texture Coordinates• Assign coordinates to each vertex• Within each triangle use linear

interpolation• Correct for distortion!

6

st

5

6Sunday, March 3, 13

Page 4: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

MIP Map• Pre-compute filtered versions of the texture

• A given UV rate is some level of the texture• Tri-linear filtering UV × map level

7

Procedural Textures• Generate texture based on some function

• Well suited for “random” textures• Often modulate some noise function

8

7

8Sunday, March 3, 13

Page 5: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Assigning Texture Coordinates

• Map a simple shape onto object by projection• Sphere, cylinder, plane, cube

• Assign by hand• Use some optimization procedure

9

Repeating Textures• Image Tiles allow repeating textures

• Images must be manipulated to allow tilling• Often result in visible artifacts

• There are methods to get around artifacts....

10

9

10Sunday, March 3, 13

Page 6: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Repeating Textures• Image Tiles allow repeating textures

• Images must be manipulated to allow tilling• Often result in visible artifacts

• Artifacts not an issue for artificial textures

11

Non-Color Textures

12

ColorSpecular

Bump

11

12Sunday, March 3, 13

Page 7: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Bump Mapping

13

No bump mapping With bump mapping

Images by Paul Bakerwww.paulsprojects.net

Bump Mapping• Add offset to normal

• Offset is in texture coordinates S,T,N• Store normal offsets in RGB image components• Should use correctly orthonormal coordinate system

• Normal offsets from gradient of a grayscale image

14

b(u,v) = [s, t,n](u,v) = ∇i(u,v)

∇=∂∂u

,∂∂v

�T

13

14Sunday, March 3, 13

Page 8: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Bump Map Example

15

Catherine Bendebury and Jonathan MichaelsCS 184 Spring 2005

Displacement Maps• Actually move geometry based on texture map

• Expensive and difficult to implement in many rendering systems• Note silhouette

16

Bump Displacement

15

16Sunday, March 3, 13

Page 9: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Environment Maps

• Environment maps allow crude reflections• Treat object as infinitesimal

• Reflection only based on surface normal

• Errors hard to notice for non-flat objects

17

Environment Maps

18

17

18Sunday, March 3, 13

Page 10: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Environment Maps

19

x

z

y

u

v

(u,v) = (0,0)x = -y= -z

(u,v) = (1,1)x = y= z

right face has x > |y|, x > |z|

u=y+ x2x

v=z+ x2x

Environment Maps• Sphere based parameterization

• Wide angle image or• Photo of a silver ball

20Images by Paul Haeberli

19

20Sunday, March 3, 13

Page 11: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Environment Maps

21

Note errors

• Used in 1985 in movie Interface• Effect by group from the New York Institute of Technology

Environment Maps• Used in 1985 in movie Interface

• Effect by group from the New York Institute of Technology

22

21

22Sunday, March 3, 13

Page 12: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Shadow Maps

23

• Pre-render scene from perspective of light source• Only render Z-Buffer (the shadow buffer)

• Render scene from camera perspective• Compare with shadow buffer• If nearer light, if further shadow

Shadow Maps

24

Shadow Buffer Image w/ ShadowsFrom Stamminger and Drettakis SIGGRAPH 2002 Note: These images don’t really go together, see the paper...

23

24Sunday, March 3, 13

Page 13: CS-184: Computer Graphicsjob/Classes/CS... · Catherine Bendebury and Jonathan Michaels CS 184 Spring 2005 Displacement Maps •Actually move geometry based on texture map •Expensive

Deep Shadow Maps• Some objects only partially occlude light

• A single shadow value will not work• Similar to transparency in Z-Buffer

25

FromLokovic and VeachSIGGRAPH 2000

25

Sunday, March 3, 13