23
Ray Tracing CS 351-50 Nov. 19, 2003

Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Ray Tracing

CS 351-50

Nov. 19, 2003

Page 2: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Turner Whitted

Page 3: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 4: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

No Bounces

Page 5: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

One Bounce

Page 6: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Two Bounces

Page 7: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 8: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Reflection Ray

R = ( -I . N) N + I + (-I . N) N = I - 2 (I . N) N

N

-I

nR

-I

( -I . N) N

-I - (-I . N) N

R

( -I . N) N

-I + (-I . N) N

I = incident ray = -dN = normal vectorR = reflected ray

Page 9: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Adding an object: transparency

Page 10: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 11: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Refractionn sin = nt sin

Page 12: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Index of Refraction > 1

Page 13: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Index of Refraction < 1

totalinternal

reflection

Page 14: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 15: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Algorithm

Trace (ray){For each object in scene

intersect (ray, object)If no intersections

return background_color

For each lightfor each object in scene

intersect(shadowRay, object)Accumulate local illumination

Trace (ReflectionRay)Trace (TransmissionRay)Accumulate global illuminationReturn illumination}

Page 16: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 17: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Sampling

Page 18: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Ray Tracing Demos

http://www.siggraph.org/education/materials/HyperGraph/raytrace/rt_java/raytrace.html

http://www.cs.berkeley.edu/~efros/java/tracer/tracer.html

Page 19: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Sampling Demo

Page 20: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Texture & Materials

Page 21: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted
Page 22: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted

Links

• http://www.acm.org/tog/GraphicsGems/

Page 23: Ray Tracing CS 351-50 Nov. 19, 2003. Turner Whitted