eecs 487 march 19, 2007 · disadvantages • missing effects – shadows – reflection –...

37
1 Ray tracing EECS 487 March 19, 2007 http://radsite.lbl.gov/radiance/book/

Upload: others

Post on 15-Nov-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

1

Ray tracingEECS 487

March 19, 2007

http://radsite.lbl.gov/radiance/book/

Page 2: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

2

Conventional pipeline (rasterization)

• For each triangle– Compute lighting at vertices– For each pixel within triangle

• Compute interpolated color and depth• Write pixel if depth test passes

• Q: the above description is somewhat “old style”– how have things changed lately?

Page 3: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

3

Conventional pipeline (rasterization)

• For each triangle– Compute lighting at vertices– For each pixel within triangle

• Compute interpolated color and depth• Write pixel if depth test passes

• Q: the above description is somewhat “old style”– how have things changed lately?

• A: can now do per­pixel lighting

Page 4: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

4

Advantages of conventional pipeline

• Simple• Can be implemented in hardware

– Parallel processing (SIMD)– Vertices– Pixels 

• Visibility determination is fast– z­buffer

Page 5: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

5

Disadvantages 

• Missing effects– namely? 

Page 6: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

6

Disadvantages 

• Missing effects– shadows– reflection– refraction through transparent surfaces– color bleeding– depth of field– motion blur– caustics

• Undesirable effect: Aliasing 

Page 7: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

7

Refraction, hard shadows, reflection

Page 8: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

8

Soft shadows

http://www­csl.csres.utexas.edu/users/billmark/teach/cs384g­05­fall/projects/ray/ray_examples/

Page 9: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

9

Color bleeding

Page 10: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

10

Depth of field

From today's New York Times

Page 11: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

11

Motion blur

Page 12: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

12

Caustics

Page 13: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

13

Degrees of ray­tracing

• Ray­casting– same disadvantages as rasterization,

but slower!

• Classical ray­tracing (today)– extension of ray­casting (slower still)

• Monte carlo ray­tracing (next class)– extension of classical ray­tracing 

(waaaay slower)

Page 14: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

14

Ray­casting

• For each pixel– Compute ray into scene– Find intersection with nearest object

• Compute lighting (via position, normal)

Page 15: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

15

Advantages of ray­casting

• Simple 

Page 16: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

16

Advantages of ray­casting

• Simple• Can be extended to include global 

illumination effects:– Reflections (specular, glossy)– Shadows (hard, soft)– Depth of field– Motion blur 

• Then it’s called ray­tracing

Page 17: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

17

Disadvantages of ray­tracing

• Done in software: slower• Adding realism can increase computations 

exponentially: monte carlo ray tracing, AKA distribution ray­tracing

Page 18: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

18

Classical ray­tracing

• Primary ray– leaves the eye and travels out to the scene

• When hit ­ spawn three new raysto “collect light”– shadow ray 

• towards light

– reflection ray– transparency ray

to camera

Page 19: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

19

The ray tree

Page 20: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

20

Raytracing is recursive

• I(incident­out) =   I(shadow­local­in)+ Kr * I(reflection­in)+ Kt * I(transparent­in)

– what is a range of Kr and Kt?• Without recursion we have ray casting

Page 21: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

21

Ray Reflections

NI R

θi θr

θI = θr

R = I ­ 2(N • I) N

Page 22: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

22

Ray RefractionNI

T

θi

θt

Snell’s Law

1

221)sin(

)sin(ηη

θθ η ==

t

i

Index of refraction: ratio of speed of light in a vacuum  to speed in the material

Page 23: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

23

Light Attenuation in transparent materials

• Light may lose intensity and shift color– effect increases with distance

• Beer’s law– Fall­off is exponential w/ distance– r, g, b components computed separately– text has details

Page 24: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

24http://www.jasonwaltman.com/graphics/rt­soft­fuzzy.html

Page 25: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

25

Watch out for…

• Total internal refraction– light may not get through the interface

Page 26: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

26

Computing intersections

• Crucial computation (inner loop)• Spheres• Planes• CSGs

image from: http://groups.csail.mit.edu/graphics/classes/6.838/F01/ lectures/SmoothSurfaces/csg­raytrace.gif

Page 27: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

27

pop quiz

• given ray: r(t) = p + tdwhere p is the ray origin,d is a vector along the ray

• find the value of t for which r(t) lies on the unit sphere with center at the origin

Page 28: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

28

Speed­up techniques

• Bounding volumes– Spheres– Boxes 

• Uniform spatial subdivision

• Hierarchical bounding boxes

Page 29: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

29

Using hierarchical bounding boxes

To check for intersections w/ objects in box:– if ray misses box, return none– if box is “leaf” test intersections w/ each 

triangle stored in the box, return closest– else check for intersections w/ each child box,

return closest

Page 30: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

30

Problem (classical ray tracing): images are too clean

http://www.tjhsst.edu/~dhyatt/supercomp/p501.html

Page 31: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

31

What’s missing

• Reflections are perfect• Shadows are hard• Everything is in focus• Shutter speed is infinite• Prone to aliasing

Page 32: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

32

Strategy: random sampling

Can address all problems listed on previous slide

Page 33: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

33

anti­aliasing

•  many rays per pixel– regular sampling– random sampling

• more on this next time

Page 34: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

34

soft shadows

• one approach: use many lights– approximate an area light with many point lights– problem: overlapping hard shadows

• alternate approach:– sample the area light randomly w/ rays– random sampling discussed in text

Page 35: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

35http://www.cs.wpi.edu/~emmanuel/courses/cs563/write_ups/zackw/realistic_raytracing.html

Page 36: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

36

more effects

• glossy reflection– follow multiple reflection rays, jittered randomly

• motion blur– multiple rays, jittered in time

• depth of field– multiple rays, jittered around eye, through focal plane

• more details next class

Page 37: EECS 487 March 19, 2007 · Disadvantages • Missing effects – shadows – reflection – refraction through transparent surfaces – color bleeding – depth of field – motion

37

Wrap up

• Shirley (our textbook) has details on computing random samples effectively

• Project 5 (ray tracing) will go out next week• Guest speaker next week: 

Manoj Rajagopalan• I'll be out of town

– no office hours