CptS 548 (Advanced Computer Graphics) Unit 3: Distribution Ray Tracing

Size: px
Start display at page:

Download "CptS 548 (Advanced Computer Graphics) Unit 3: Distribution Ray Tracing"

Transcription

1 CptS 548 (Advanced Computer Graphics) Unit 3: Distribution Ray Tracing Bob Lewis School of Engineering and Applied Science Washington State University Spring, 2018

2 References Cook, R. L., Porter, T., and Carpenter, L. Distributed Ray Tracing, SIGGRAPH 84. Cook, R. L., Stochastic Sampling and Distributed Ray Tracing, in An Introduction to Ray Tracing (Glassner, ed.), Academic Press, (out of print sigh!) Glassner, A., Principles of Digital Image Synthesis, Morgan-Kaufmann, Jenkins, F. A. and White, H. E., Fundamentals of Optics, McGraw-Hill, Kolb, C., Hanrahan, P., and Mitchell, D., A Realistic Camera Model for Computer Graphics, SIGGRAPH 95. Watt, A. and Watt, M., Advanced Animation and Rendering Techniques, Addison-Wesley, 1992.

3 What s Wrong with Basic Ray Tracing? Small objects and textures are aliased. Shadows are too sharp. (point and directional luminaires only) Everything is in focus. (not photorealistic) Moving objects are not blurred. (the O Brien-Harryhausen effect) And that s just for starters. Solution: Distribution Ray Tracing

4 What is Distribution Ray Tracing? Cast multiple instead of single rays and combine results to measure a distribution of light. It was originally called distributed, but this was an unfortunate choice of words. It has nothing intrinsically to do with parallel ray tracing. Parallel ray tracers may or may not be distributed (on multiple nodes). Alternative term: stochastic ray tracing But distribution ray tracing isn t always stochastic.

5 review: Camera.raytrace() Recall this method s original version: class Camera :... method raytrace ( camera, scene, width, height ): image = Image ( width, height ) for i from 0 to width -1: for j from 0 to height -1: ray = camera. ray ( width, height, i +0.5, j +0.5) image [i,j] = scene. trace (ray, 0.0) Note that the ray goes through the middle (0.5,0.5) of the pixel. We said that we could combine the two method calls into one, but we don t, for good reason. Here it is...

6 A Distribution Ray Tracer: Top Level (I) class Camera :... method raytracepixel ( camera, scene, imagerow, imagecolumn ): result = Radiance (0,0,0) for ( ray, weight ) in camera.viewingraysandweights( imagerow, imagecolumn): result += weight * scene. traceray ( ray, 0.0) return result method raytrace ( camera, scene ): image = Image ( camera. width, camera. height ) for i from 0 to camera. width - 1: for j from 0 to camera. height - 1: image [i, j] = camera. raytracepixel ( scene, i, j)

7 A Distribution Ray Tracer: Top Level (II) The only change is the generation of multiple viewing rays, all with potentially different origins and directions, for each pixel. This is the good reason we didn t merge the Camera.viewingRay() and Scene.traceRay() methods in the basic ray tracer. camera.raytracepixel() computes a weighted sum of radiances for each pixel. This is for primary (view) rays. So now all we do is write camera.viewingraysandweights(). We recover old behavior with: def viewingraysandweights ( camera, imagerow, imagecolumn ): return [ ( camera. viewingray ( imagerow +0.5, imagecolumn +0.5), 1.0) ]

8 What Can Distribution Ray Tracing Do? Depends on the kind of rays you cast: eye rays (shown above) antialiasing depth-of-field motion blur shadow rays soft shadows area luminaires reflection rays glossy (rough mirror, e.g. sandblasted) surfaces area luminaires refraction rays murky (scattering) liquids

9

10 Unit 3: Distribution Ray Tracing Part Part Part Part 1: 2: 3: 4: Supersampling Depth of Field Motion Blur Soft Shadows (Penumbras) What is a Distribution of Light? Look at an enlargement of a single pixel: v u A scene is a continuous Radiance function L(u, v ). What the PA1 raytracer does about this... Bob Lewis WSU CptS 548 (Spring, 2018)

11 Review: Basic Ray Tracing It samples a single pixel: v ( 1 img[i, j] = L 2, 1 ) 2 u...so it could miss quite a lot of detail. It would be better to average L over the pixel: img[i, j] = L(u, v)dudv pixel

12 Supersampling...but that integral is very hard, if not impossible, to do analytically, so we approximate it with multiple samples: img[i, j] = L(u, v)dudv pixel v u 1 N anti N anti 1 k=0 L (u k, v k ) samp where N samp is the number of samples. How do we pick the (u k, v k )? We can, for instance, choose a uniform N anti N anti. (The above shows N anti = 4.)

13 Camera.viewingRaysAndWeights() for Regular Supersampling class Camera :... method viewingraysandweights ( camera, imagerow, imagecolumn ): result = [] n = camera. npixelsamples n1d = sqrt ( n) # assume n is a square duv = 1 / n1d # sample spacing for i from 0 to n1d - 1: for j from 0 to n1d - 1: u = imagerow + ( i + 0.5) * duv v = imagecolumn + ( j + 0.5) * duv ray = camera. viewingray (u, v) result += [ (ray, 1/n) ] return result

14 Raytraced Images with Regular Supersampling sampled 1 1 sampled 2 2 sampled 4 4 (i. e. basic)

15 Camera.viewingRaysAndWeights() for Jittered Supersampling What if we vary ( jitter ) the ray origins by as small, random amount? This requires two teensy little changes (in red): class Camera :... method viewingraysandweights ( camera, imagerow, imagecolumn ): result = [] n = camera. npixelsamples n1d = sqrt ( n) # assume n is a square duv = 1 / n1d # sample spacing for i from 0 to n1d - 1: for j from 0 to n1d - 1: u = imagerow + ( i + rand01()) * duv v = imagecolumn + ( j + rand01()) * duv ray = camera. viewingray (u, v) result += [ (ray, 1/n) ] return result

16 Raytraced Images with Jittered Supersampling sampled 1 1 sampled 2 2 sampled 4 4

17 To Jitter or Not to Jitter? sampled 1 1 sampled 2 2 sampled 4 4 sampled 1 1, jittered sampled 2 2, jittered sampled 4 4, jittered

18 Jittered 8 8 In terms of primary rays only, how much slower is our raytracer now?

19 Efficiency Let N obj be the number of objects in the scene. Let N lum be the number of luminaires. Let N anti be the number of antialiasing (super)samples. What is the ( asymptotic ) per-pixel (time) efficiency of supersampled ray tracing with shadows? (i.e. What goes inside the parens in O()?) O(Nobj * Nlum * Nanti)

20 Adaptive Supersampling One approach to reduce the N anti factor is this... v v v u u u The idea: Keep subdividing until there s only a small variation between the samples.

21 Camera.raytracePixel() for Adaptive Supersampling To get adaptive supersampling, we modify Camera.raytracePixel() to call a new recursive pixel sampling method Camera.adaptivelyRaytracePixel(): class Camera :... method raytracepixel ( camera, imagerow, imagecolumn ): ( du, dv) = camera. pixeldimensions () (u, v) = ( imagerow * du, imagecolumn * dv) # pixel center return = camera.adaptivelyraytracepixel(u, v, du, dv)

22 Camera.adaptivelyRaytracePixel() class Camera :... method adaptivelyraytracepixel ( camera, scene, u, v, du, dv ): ( du, dv) = ( du /2, dv /2) # dimensions of subcell uvsubs = [] samples = [] for (delu, delv ) in (( -du,-dv ),(du,-dv ),(du, dv ),(-du, dv )): usub = u + delu vsub = v + delv uvsubs += [ ( usub, vsub ) ] rysub = camera. viewingray ( usub, vsub ) samples += [ scene. traceray ( rysub, 0.0) ] if closeenough(samples): return sum ( samples ) / 4 # i. e, the mean else : sum = Radiance (0,0,0) for ( usub, vsub ) in uvsubs : sum += camera. adaptivelyraytracepixel ( usub, vsub, du, dv) return sum / 4

23 What s Wrong with Adaptive Supersampling? Adaptive supersampling is easy to understand, but there are some issues: What are the stopping criteria? How do we define closeenough()? It makes a questionable assumption: Just because four samples are close (however we define it) is no indication that L(u, v) is uniform over the subpixel. It s still susceptible to sampling errors, which we ll cover in an upcoming unit. Perhaps the best approach is a pragmatic one: For a particular scene, try adaptive supersampling and see if it works.

24

25 What We ve Assumed So Far: The Pinhole Camera image pinhole object

26 A More Realistic Camera Model image lens object But this geometry only holds when the object is in focus...

27 Lenses and Foci A little more physics: A lens brings light rays to a focal point: V P P ~ Q 0 ' ~ Q 1 ' F ~ Q 1 ~ Q 0 1 Recall (I hope) the thin lens formula: P + 1 V P = 1 F where F, the (intrinsic) focal length of the lens relates V P the distance where light rays from an object at distance P are focussed.

28 Unit 3: Distribution Ray Tracing Part Part Part Part 1: 2: 3: 4: Supersampling Depth of Field Motion Blur Soft Shadows (Penumbras) Depth-of-Field image plane Only the sphere is in relatively sharp focus. The other objects are more blurred. Bob Lewis WSU CptS 548 (Spring, 2018)

29 Unit 3: Distribution Ray Tracing Part Part Part Part 1: 2: 3: 4: Supersampling Depth of Field Motion Blur Soft Shadows (Penumbras) Depth-of-Field Ray Geometry image plane pinhole replaced with lens d ~ o' previous pinhole viewing ray d ' ~ o Bob Lewis WSU CptS 548 (Spring, 2018)

30 Computing Depth-of-Field Rays Here s the idea (from Cook s article in Glassner s An Introduction to Ray Tracing: We re given a pixel origin õ in the image plane. (This may be supersampled.) Choose a point õ on the lens which, will be the new ray origin. Compute the pixel-lens ray direction d = õ õ. Compute d, the refraction of d and use it as the new ray direction. Do this for a lot of õ points distributed over the lens and compute the mean of the results.

31 Lens Rays (I) V P ^r P ~ o F ~ d ~ o' ~ e ~ d ' ~ C ^z Because of symmetry around the ẑ axis, this is taking place in the plane defined by õ, õ, and ẽ (that s why we have the r axis instead of x or ŷ).

32 Lens Rays (II) We find the lens ray direction by working backwards. õ is a focal point for all rays that originate at another point C in front of the lens. Equivalently, light that reached õ from any point õ on the lens must have come from the direction of C, because that s how the lens bends the light. If we knew C, we could compute the lens direction d = C o. This is our goal, so how do we find C? An unbent ray passes through the (origin at) the center of the lens, leading, via similar triangles, to C P = õ V P

33 Lens Rays (III) õ is in the opposite direction from C wrt the origin, so: Ĉ = C C = õ õ Recall the thin lens formula: 1 P + 1 V P = 1 F and note: V p = õ ẑ P = C ẑ and you have enough to solve for C, which you can then use to find d. This is an exercise in algebra left to the reader. (Hint: Start with C = C Ĉ.)

34 Adding Depth-of-Field class Camera :... method viewingraysandweights ( camera, imagerow, imagecolumn ): n = camera. npixelsamples n1d = sqrt ( n) duv = 1/ n1d # assume n is a square result = [] for i from 0 to n1d -1: for j from 0 to n1d -1: # assume jittering u = imagerow + ( i + rand01 ()) * duv v = imagecolumn + ( j + rand01 ()) * duv rays = camera.lensrays(img, u, v) weight = 1 / ( len ( rays ) * n) for ray in rays : result += [ ( ray, weight ) ] return result

35 Camera.lensRays() class Camera :... method lensrays ( camera, imageu, imagev ): pixelrayorigin = Point3D ( imageu, imagev, camera. imagedistance ) C = camera.opposingfocalpoint(pixelrayorigin) # = C rays = [] for lensrayorigin in camera. lenspoints (): # = o lensraydirection = C - lensrayorigin # = d cameraray = Ray ( lensrayorigin, lensraydirection, 0, 1.0) rays += [ cameraray. transform ( camera. cameratoscenetransform ) ] return rays Note that the rest of the raytracer doesn t even care that the rays don t all start from the same place!

36 scene.lenspoints(): Sampling Lens Points D unstratified, jittered stratified stratified, jittered Alternative to Shirley, ch. 12: Generate test points (u lens, v lens ) [0, D] [0, D] (possibly stratified) and reject those that fall outside the lens circle until you get N lens of them. [ -D/2, D/2 ]?

37 Aside: Adjusting Lens Diameter for a Real Camera The (effective) lens diameter D is usually given by F f, where f is the f-stop of the lens often adjusted by a diaphragm on mechanical cameras. (There s a pattern to these numbers.)

38 Son of Efficiency Let N obj be the number of objects in the scene. Let N lum be the number of luminaires. Let N anti be the number of antialiasing (super)samples. Let N lens be the number of lens samples. What is the per-pixel (time) efficiency of supersampled ray tracing with shadows and depth-of-field effects? O(Nobj * Nlum * Nanti * Nlens)

39

40 Unit 3: Distribution Ray Tracing Part Part Part Part 1: 2: 3: 4: Supersampling Depth of Field Motion Blur Soft Shadows (Penumbras) What is Motion Blur? Objects can move. (This should not come as a major shock.) If we take a picture of a rapidly-moving object with a real camera with a real (even electronic) shutter, it will appear blurred in the direction of motion. Bob Lewis WSU CptS 548 (Spring, 2018)

41 Why Haven t We Seen Motion Blur Yet? The image function we see is not just L(u, v), but L(u, v, t): Pixel radiance changes over time. Up until now, we ve been assuming an instantaneous shutter at time t 0 : img[i, j] = pixel i, j L (u, v, t 0) dudv 1 N anti N anti 1 k=0 L (u k, v k, t 0 ) There is no motion blur possible here. (Motion blur is not just a problem for computer graphics. What do Willis O Brien, George Pal, Ray Harryhausen, Will Vinton, and Nick Park have in common?)

42 Sampling for Motion Blur But we could take account of motion blur by enhancing our model to show the effects of motion (making it kinematic), changing our object (and camera) positions as a function of time, and compute: img[i, j] = 1 T Or, in terms of samples: T 0 L (u, v, t) du dv dt pixel i, j img[i, j] 1 N anti N blur N blur 1 l=0 N anti 1 k=0 L (u k, v k, t l )

43 Implementing Motion Blur class Camera :... method raytracepixel ( camera, scene, imagerow, imagecolumn ): result = Radiance (0,0,0) dt = 1.0 / camera. ntimesamples # 0 <= t <= 1 for l from 0 to camera. ntimesamples -1: t = ( l + 0.5) * dt # middle of time slot scene.settime(t) # position and orient objects camera.settime(t) # position and orient camera for ( viewingray, weight ) in camera. viewingraysandweights ( imagerow, imagecolumn result += weight * scene. traceray ( viewingray, 0.0) return result / camera. ntimesamples Is there such a thing as temporal aliasing? Yes, and it s got a name: the wagon wheel effect.

44 Enhancement: Shutter Area So far we assume that the shutter is either 100% open (between times 0 and 1) or closed. We could modify this with a sampled filter function: 1 w(t ) 0 0 t 1 Doing this is pretty straightforward: img[i, j] 1 Nblur 1 N anti N blur l=0 Nanti 1 k=0 w l L (u k, v k, t l ) Nblur 1 l=0 w l

45 The Return of the Son of Efficiency Let N obj be the number of objects in the scene. Let N lum be the number of luminaires. Let N anti be the number of antialiasing (super)samples. Let N lens be the number of lens samples. Let N blur be the number of time samples (per frame). What is the per-pixel (time) efficiency of supersampled ray tracing with shadows, depth-of-field, and motion blur effects? O(Nobj * Nlum * Nanti * Nlens * Nblur)

46

47 What is a Penumbra? area light source obstruction umbra penumbra Soft shadows arise because most luminaires in the physical world aren t point or directional. This is different from a spotlight (and harder to do).

48 Approximating Soft Shadows The idea: Instead of one shadow ray, cast N sh shadow rays at a set of positions on each area luminaire. Select luminaire positions (hence, shadow ray directions) using randomization and/or stratification (as we did with lens ray origins).

49 Material.illuminate() (updated) class Material :... method illuminate ( material, intersection, incidentray, scene ): radiance = material. indirectradiance ( intersection, incidentray, scene ) towardsviewer = - incidentray. direction. normalized () # = v p = intersection. p # = p normal = intersection. getnormal () # = n for luminaire in scene. luminaires : radiance += meandirectradiancefromluminaire(material, luminaire, p, normal, towardsviewer, scene) return L

50 Material.meanDirectRadianceFromLuminaire() class Material :... method meandirectradiancefromluminaire ( material, luminaire, p, normal, towardsviewer, scene ): shadowrays = luminaire. shadowrays ( p) radiance = Radiance (0, 0, 0) for shadowray in shadowrays : radiance += directradiancefromluminaire(material, luminaire, shadowray, normal, towardsviewer, scene) # Warning : shaky illumination calculation here radiance /= len ( shadowrays ) # take the mean (?)

51 Material.directRadianceFromLuminaire() class Material :... method directradiancefromluminaire ( material, luminaire, ray, normal, towardsviewer, scene ): if ray. direction. dot ( normal ) > 0: intersection = scene. firstintersection ( ray, EPSILON ) if intersection == None or luminaire. iscloser ( intersection.p, ray. origin ): return material. directradiance ( towardsviewer, normal, luminaire ) return Radiance (0, 0, 0) optional towardslight needed for directradiance()

52 The Return of the Son of Efficiency s Daughter Let N obj be the number of objects in the scene. Let N lum be the number of luminaires. Let N anti be the number of antialiasing (super)samples. Let N lens be the number of lens samples. Let N blur be the number of time samples (per frame). Let N shdw be the number of shadow rays cast per luminaire. What is the per-pixel (time) efficiency of supersampled ray tracing with soft shadows, depth-of-field, and motion blur effects? Even if each of these numbers is small, their product may not be. How can we work around this?

53 Multidimensional Sampling ray origins lens points time steps luminaire points N anti N anti N lens N lum Randomly chosen parameters for antialiasing (ray origin), depth-of-field (lens position), motion blur (time), and soft shadows (position on light source) don t correlate, so they could all be chosen at random. Create a table for each parameter. For each of N adms samples, choose one from column A, one from column B, etc.

54 Efficiency: The Final Chapter (For Now) Let N obj be the number of objects in the scene. Let N lum be the number of luminaires. Let N adms be the number of samples for anti-aliasing, depth-of-field, motion blur, and soft shadow effects. What is the per-pixel (time) efficiency such a ray tracer? The next unit will cover how to make ray tracing (even) more efficient.

Announcements. Written Assignment 2 out (due March 8) Computer Graphics

Announcements. Written Assignment 2 out (due March 8) Computer Graphics Announcements Written Assignment 2 out (due March 8) 1 Advanced Ray Tracing (Recursive) Ray Tracing Antialiasing Motion Blur Distribution Ray Tracing Ray Tracing and Radiosity Assumptions Simple shading

More information

Distribution Ray Tracing

Distribution Ray Tracing Reading Required: Distribution Ray Tracing Brian Curless CSE 557 Fall 2015 Shirley, 13.11, 14.1-14.3 Further reading: A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics Ray Tracing EECS 487: Interactive Computer Graphics Lecture 29: Distributed Ray Tracing Introduction and context ray casting Recursive ray tracing shadows reflection refraction Ray tracing implementation

More information

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics Announcements Assignment 4 will be out later today Problem Set 3 is due today or tomorrow by 9am in my mail box (4 th floor NSH) How are the machines working out? I have a meeting with Peter Lee and Bob

More information

Reading. Distribution Ray Tracing. BRDF, revisited. Pixel anti-aliasing. ω in. Required: Shirley, section Further reading:

Reading. Distribution Ray Tracing. BRDF, revisited. Pixel anti-aliasing. ω in. Required: Shirley, section Further reading: Reading Required: Shirley, section 10.11 Further reading: Distribution Ray Tracing Watt, sections 10.4-10.5 A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert L. Cook,

More information

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Distribution Ray Tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 10.6,14.8. Further reading: A. Glassner. An Introduction to Ray

More information

Physically Realistic Ray Tracing

Physically Realistic Ray Tracing Physically Realistic Ray Tracing Reading Required: Watt, sections 10.6,14.8. Further reading: A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert L. Cook, Thomas Porter,

More information

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017 Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 557 Autumn 2017 1 Reading Required: Marschner and Shirley, Section 13.4 (online handout) Pharr, Jakob, and Humphreys, Physically Based Ray Tracing:

More information

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017 Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 457 Autumn 2017 1 Reading Required: Marschner and Shirley, Section 13.4 (online handout) Further reading: Pharr, Jakob, and Humphreys, Physically

More information

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading:

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading: Reading Required: Watt, sections 10.6,14.8. Further reading: 8. Distribution Ray Tracing A. Glassner. An Introduction to Ray Tracing. Academic Press, 1989. [In the lab.] Robert L. Cook, Thomas Porter,

More information

Anti-aliasing and Monte Carlo Path Tracing

Anti-aliasing and Monte Carlo Path Tracing Reading Required: Anti-aliasing and Monte Carlo Path Tracing Brian Curless CSE 557 Autumn 2017 Marschner and Shirley, Section 13.4 (online handout) Pharr, Jakob, and Humphreys, Physically Based Ray Tracing:

More information

Distributed Ray Tracing

Distributed Ray Tracing Distributed Ray Tracing 1996-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ DistribRT 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 24 Distributed ray

More information

Distribution Ray-Tracing. Programação 3D Simulação e Jogos

Distribution Ray-Tracing. Programação 3D Simulação e Jogos Distribution Ray-Tracing Programação 3D Simulação e Jogos Bibliography K. Suffern; Ray Tracing from the Ground Up, http://www.raytracegroundup.com Chapter 4, 5 for Anti-Aliasing Chapter 6 for Disc Sampling

More information

Distributed Ray Tracing

Distributed Ray Tracing CT5510: Computer Graphics Distributed Ray Tracing BOCHANG MOON Distributed Ray Tracing Motivation The classical ray tracing produces very clean images (look fake) Perfect focus Perfect reflections Sharp

More information

Specular reflection. Lighting II. Snell s Law. Refraction at boundary of media

Specular reflection. Lighting II. Snell s Law. Refraction at boundary of media Specular reflection Lighting II CS 465 Lecture 19 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics (insulators) behave differently

More information

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading

Visual cues to 3D geometry. Light Reflection and Advanced Shading. Shading. Recognizing materials. size (perspective) occlusion shading Visual cues to 3D geometry Light Reflection and Advanced Shading size (perspective) occlusion shading CS 4620 Lecture 17 1 2 Shading Recognizing materials Variation in observed color across an object strongly

More information

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

More information

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017

Computer Graphics. Si Lu. Fall uter_graphics.htm 11/22/2017 Computer Graphics Si Lu Fall 2017 http://web.cecs.pdx.edu/~lusi/cs447/cs447_547_comp uter_graphics.htm 11/22/2017 Last time o Splines 2 Today o Raytracing o Final Exam: 14:00-15:30, Novermber 29, 2017

More information

Ray Tracing. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

Ray Tracing. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen Ray Tracing Recursive Ray Tracing Gather light from various directions by tracing rays Each pixel shows light at a surface trace ray from eye to surface Each surface illuminated by lights and other surfaces

More information

distribution ray tracing

distribution ray tracing distribution ray tracing computer graphics distribution ray tracing 2006 fabio pellacini 1 distribution ray tracing use many rays to compute average values over pixel areas, time, area lights, reflected

More information

distribution ray-tracing

distribution ray-tracing distribution ray-tracing 1 distribution ray-tracing use many rays to compute average values over pixel areas, time, area lights, reflected directions,... 2 antialiasing origin compute average color subtended

More information

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University Ray Tracing CS334 Fall 2013 Daniel G. Aliaga Department of Computer Science Purdue University Ray Casting and Ray Tracing Ray Casting Arthur Appel, started around 1968 Ray Tracing Turner Whitted, started

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 10: Ground Truth Welcome! Today s Agenda: Limitations of Whitted-style Ray Tracing Monte Carlo Path Tracing INFOGR Lecture 10 Ground Truth

More information

CptS 548 (Advanced Computer Graphics) Unit 2: Basic Ray Tracing

CptS 548 (Advanced Computer Graphics) Unit 2: Basic Ray Tracing CptS 548 (Advanced Computer Graphics) Unit 2: Basic Ray Tracing Bob Lewis School of Engineering and Applied Science Washington State University Spring, 2018 Why Build a Ray Tracer? Ray tracing is more

More information

Global Illumination The Game of Light Transport. Jian Huang

Global Illumination The Game of Light Transport. Jian Huang Global Illumination The Game of Light Transport Jian Huang Looking Back Ray-tracing and radiosity both computes global illumination Is there a more general methodology? It s a game of light transport.

More information

CS-184: Computer Graphics. Administrative

CS-184: Computer Graphics. Administrative CS-184: Computer Graphics Lecture #10: Raytracing Prof. James O Brien University of California, Berkeley V2005-10-1.1 Administrative Prof. O Brien away this Thursday and Friday Available after class today

More information

Ray tracing. EECS 487 March 19,

Ray tracing. EECS 487 March 19, Ray tracing EECS 487 March 19, 2007 http://radsite.lbl.gov/radiance/book/ 1 Conventional pipeline (rasterization) For each triangle Compute lighting at vertices For each pixel within triangle Compute interpolated

More information

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection

More information

Ray Tracing. Last Time? Reading for Today. Reading for Today

Ray Tracing. Last Time? Reading for Today. Reading for Today Last Time? Ray Tracing Keyframing Procedural Animation Physically-Based Animation Forward and Inverse Kinematics Motion Capture Two solutions Reading for Today Artist-Directed Dynamics for 2D Animation,

More information

Local vs. Global Illumination & Radiosity

Local vs. Global Illumination & Radiosity Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading

More information

Shadows. COMP 575/770 Spring 2013

Shadows. COMP 575/770 Spring 2013 Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows Last Time: Acceleration Data Structures for Ray Tracing Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion

More information

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity Today Anti-aliasing Surface Parametrization Soft Shadows Global Illumination Path Tracing Radiosity Exercise 2 Sampling Ray Casting is a form of discrete sampling. Rendered Image: Sampling of the ground

More information

Building a Fast Ray Tracer

Building a Fast Ray Tracer Abstract Ray tracing is often used in renderers, as it can create very high quality images at the expense of run time. It is useful because of its ability to solve many different problems in image rendering.

More information

CS 563 Advanced Topics in Computer Graphics Camera Models. by Kevin Kardian

CS 563 Advanced Topics in Computer Graphics Camera Models. by Kevin Kardian CS 563 Advanced Topics in Computer Graphics Camera Models by Kevin Kardian Introduction Pinhole camera is insufficient Everything in perfect focus Less realistic Different camera models are possible Create

More information

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination Raytracing & Epsilon intersects light @ t = 25.2 intersects sphere1 @ t = -0.01 & Monte Carlo Ray Tracing intersects sphere1 @ t = 10.6 Solution: advance the ray start position epsilon distance along the

More information

Ray Tracing Part 2. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar

Ray Tracing Part 2. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar Ray Tracing Part 2 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar Email: manwar@cs.toronto.edu Overview Raytracing Recap FAQ/Conventions for A3/A4 Advanced Ray Tracing Features Soft Shadows

More information

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule Today Acceleration Data Structures for Ray Tracing Cool results from Assignment 2 Last Week: koi seantek Ray Tracing Shadows Reflection Refraction Local Illumination Bidirectional Reflectance Distribution

More information

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling. Ray-tracing Acceleration Acceleration Data Structures for Ray Tracing Thanks to Fredo Durand and Barb Cutler Soft shadows Antialiasing (getting rid of jaggies) Glossy reflection Motion blur Depth of field

More information

Ray tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3

Ray tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3 Ray tracing idea Ray Tracing CS 465 Lecture 3 2007 Doug James 1 2007 Doug James 2 Ray tracing algorithm Plane projection in drawing for each pixel { compute viewing ray intersect ray with scene compute

More information

The Rendering Equation and Path Tracing

The Rendering Equation and Path Tracing The Rendering Equation and Path Tracing Louis Feng April 22, 2004 April 21, 2004 Realistic Image Synthesis (Spring 2004) 1 Topics The rendering equation Original form Meaning of the terms Integration Path

More information

Advanced Ray Tracing

Advanced Ray Tracing Advanced Ray Tracing Thanks to Fredo Durand and Barb Cutler The Ray Tree Ni surface normal Ri reflected ray Li shadow ray Ti transmitted (refracted) ray 51 MIT EECS 6.837, Cutler and Durand 1 Ray Tree

More information

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference

More information

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Computer Graphics Project

Computer Graphics Project Computer Graphics Project Distributed Ray Tracing Jakub Cupisz Michael Friis Lippert Abstract As a topic of our project we have chosen Distributed Ray Tracing. It uses Monte Carlo integration to solve

More information

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Kind of Quick Ray Tracing

Kind of Quick Ray Tracing Kind of Quick Ray Tracing Greg Yauney Advanced Computer Graphics Spring 2012 Abstract Adaptive ray tracing is a way to accelerate the traditional ray tracing we implemented in homework three. The idea,

More information

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall Other Rendering Techniques 1 Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity 2 Intro Some more Raytracing Light maps Photon-map Reyes Shadow maps Sahdow volumes PRT BSSRF

More information

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates

More information

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1 Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer

More information

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects Basic Ray Tracing Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as

More information

Ray Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson

Ray Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson Ray Tracing Part 1 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar & Kevin Gibson Email: manwar@cs.toronto.edu Overview Introduction / Motivation Rasterization vs Ray Tracing Basic Pseudocode

More information

CS 4620 Program 4: Ray II

CS 4620 Program 4: Ray II CS 4620 Program 4: Ray II out: Tuesday 11 November 2008 due: Tuesday 25 November 2008 1 Introduction In the first ray tracing assignment you built a simple ray tracer that handled just the basics. In this

More information

Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field

Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field Reading on the Accumulation Buffer: Motion Blur, Anti-Aliasing, and Depth of Field 1 The Accumulation Buffer There are a number of effects that can be achieved if you can draw a scene more than once. You

More information

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ]

Ray Tracing. CSCI 420 Computer Graphics Lecture 15. Ray Casting Shadow Rays Reflection and Transmission [Ch ] CSCI 420 Computer Graphics Lecture 15 Ray Tracing Ray Casting Shadow Rays Reflection and Transmission [Ch. 13.2-13.3] Jernej Barbic University of Southern California 1 Local Illumination Object illuminations

More information

Depth of Field for Photorealistic Ray Traced Images JESSICA HO AND DUNCAN MACMICHAEL MARCH 7, 2016 CSS552: TOPICS IN RENDERING

Depth of Field for Photorealistic Ray Traced Images JESSICA HO AND DUNCAN MACMICHAEL MARCH 7, 2016 CSS552: TOPICS IN RENDERING Depth of Field for Photorealistic Ray Traced Images JESSICA HO AND DUNCAN MACMICHAEL MARCH 7, 2016 CSS552: TOPICS IN RENDERING Problem and Background Problem Statement The Phong Illumination Model and

More information

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan Ray Tracing CPSC 453 Fall 2018 Sonny Chan Ray Tracing A method for synthesizing images of virtual 3D scenes. Image Capture Devices Which one shall we use? Goal: Simulate a Camera Obscura! Spheres & Checkerboard

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. 11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives

More information

CS 465 Program 5: Ray II

CS 465 Program 5: Ray II CS 465 Program 5: Ray II out: Friday 2 November 2007 due: Saturday 1 December 2007 Sunday 2 December 2007 midnight 1 Introduction In the first ray tracing assignment you built a simple ray tracer that

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

Photon Mapping. Due: 3/24/05, 11:59 PM

Photon Mapping. Due: 3/24/05, 11:59 PM CS224: Interactive Computer Graphics Photon Mapping Due: 3/24/05, 11:59 PM 1 Math Homework 20 Ray Tracing 20 Photon Emission 10 Russian Roulette 10 Caustics 15 Diffuse interreflection 15 Soft Shadows 10

More information

13 Distribution Ray Tracing

13 Distribution Ray Tracing 13 In (hereafter abbreviated as DRT ), our goal is to render a scene as accurately as possible. Whereas Basic Ray Tracing computed a very crude approximation to radiance at a point, in DRT we will attempt

More information

Topics and things to know about them:

Topics and things to know about them: Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will

More information

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1 MIT 6.837 Monte-Carlo Ray Tracing MIT EECS 6.837, Cutler and Durand 1 Schedule Review Session: Tuesday November 18 th, 7:30 pm bring lots of questions! Quiz 2: Thursday November 20 th, in class (one weeks

More information

Illumination Algorithms

Illumination Algorithms Global Illumination Illumination Algorithms Digital Lighting and Rendering CGT 340 The goal of global illumination is to model all possible paths of light to the camera. Global Illumination Global illumination

More information

Sampling: Antialiasing - Intro

Sampling: Antialiasing - Intro Sampling: Antialiasing - Intro Aliasing effects occur due to fact that the basic tracer 1. Casts a single ray per pixel 2. Casts the rays in a regular pattern Only a single color is possible for a given

More information

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283 Acknowledgements and many slides courtesy: Thomas Funkhouser, Szymon

More information

Theoretically Perfect Sensor

Theoretically Perfect Sensor Sampling 1/67 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all

More information

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate? Monte-Carlo Ray Tracing Antialiasing & integration So far, Antialiasing as signal processing Now, Antialiasing as integration Complementary yet not always the same in particular for jittered sampling Image

More information

Ray Tracing COMP575/COMP770

Ray Tracing COMP575/COMP770 Ray Tracing COMP575/COMP770 1 Ray tracing idea 2 Ray Tracing: Example (from [Whitted80]) Ray Tracing: Example Ray Tracing for Highly Realistic Images Volkswagen Beetle with correct shadows and (multi-)reflections

More information

MITOCW MIT6_172_F10_lec18_300k-mp4

MITOCW MIT6_172_F10_lec18_300k-mp4 MITOCW MIT6_172_F10_lec18_300k-mp4 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for

More information

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS SESSION 15 RAY TRACING 1 Announcements Programming Assignment 3 out today - overview @ end of the class Ray Tracing 2 Lecture Overview Review of last class Ray Tracing 3 Local

More information

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

More information

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch

Global Illumination. CSCI 420 Computer Graphics Lecture 18. BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch CSCI 420 Computer Graphics Lecture 18 Global Illumination Jernej Barbic University of Southern California BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch. 13.4-13.5] 1 Global Illumination

More information

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19 Lecture 17: Recursive Ray Tracing Where is the way where light dwelleth? Job 38:19 1. Raster Graphics Typical graphics terminals today are raster displays. A raster display renders a picture scan line

More information

Ray Tracing With Adaptive Supersampling in Object Space

Ray Tracing With Adaptive Supersampling in Object Space In Graphics Interface '93, pages 70-77. Ray Tracing With Adaptive Supersampling in Object Space Jon Genetti* and Dan Gordon** Department of Computer Science Texas A&M University, College Station, Texas

More information

Theoretically Perfect Sensor

Theoretically Perfect Sensor Sampling 1/60 Sampling The ray tracer samples the geometry, only gathering information from the parts of the world that interact with a finite number of rays In contrast, a scanline renderer can push all

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell eading! equired:! Watt, sections 12.5.3 12.5.4, 14.7! Further reading:! A. Glassner.

More information

Raycast Rendering Maya 2013

Raycast Rendering Maya 2013 2000 2012 Michael O'Rourke Raycast Rendering Maya 2013 (See also the Intro to Lights and Rendering tutorial for an introduction to the basics of rendering an image) Concept There are several algorithms

More information

Turn your movie file into the homework folder on the server called Lights, Camera, Action.

Turn your movie file into the homework folder on the server called Lights, Camera, Action. CS32 W11 Homework 3: Due MONDAY, APRIL 18 Now let s put the ball in a world of your making and have some fun. Create a simple AND WE MEAN SIMPLE environment for one of your ball bounces. You will assign

More information

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA) CSCI 420 Computer Graphics Lecture 14 Rasterization Jernej Barbic University of Southern California Scan Conversion Antialiasing [Angel Ch. 6] Rasterization (scan conversion) Final step in pipeline: rasterization

More information

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007

Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Programming For this assignment you will write a simple ray tracer. It will be written in C++ without

More information

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits CS 586/480 Computer Graphics II Dr. David Breen Matheson 408 Thursday 6PM Æ 8:50PM Presentation 4 10/28/04 Logistics Read research paper and prepare summary and question P. Hanrahan, "Ray Tracing Algebraic

More information

Project 3 Path Tracing

Project 3 Path Tracing Project 3 Path Tracing CSE 168: Rendering Algorithms, Spring 2017 Description Add antialiasing and path tracing of diffuse surfaces and Fresnel metals to your renderer. Project 3 is due by 5:00 pm, Wednesday

More information

Programming projects. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer

Programming projects. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer Programming projects Rendering Algorithms Spring 2010 Matthias Zwicker Universität Bern Description of assignments on class webpage Use programming language and environment of your choice We recommend

More information

Indirect Illumination

Indirect Illumination Indirect Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Surface Illumination Calculation Multiple light source: 2 Viewer N 1 V I = I E + K A I A + K D N, + K S V, R n I Overview

More information

Global Illumination. COMP 575/770 Spring 2013

Global Illumination. COMP 575/770 Spring 2013 Global Illumination COMP 575/770 Spring 2013 Final Exam and Projects COMP 575 Final Exam Friday, May 3 4:00 pm COMP 770 (and 575 extra credit) Projects Final report due by end of day, May 1 Presentations:

More information

Computer Graphics. Ray Tracing. Based on slides by Dianna Xu, Bryn Mawr College

Computer Graphics. Ray Tracing. Based on slides by Dianna Xu, Bryn Mawr College Computer Graphics Ray Tracing Based on slides by Dianna Xu, Bryn Mawr College Ray Tracing Example Created by Anto Matkovic Ray Tracing Example Ray Tracing Example Ray Tracing Most light rays do not reach

More information

RAYTRACING. Christopher Peters INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION. HPCViz, KTH Royal Institute of Technology, Sweden

RAYTRACING. Christopher Peters INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION. HPCViz, KTH Royal Institute of Technology, Sweden DH2323 DGI15 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION RAYTRACING HPCViz, KTH Royal Institute of Technology, Sweden http://kth.academia.edu/christopheredwardpeters Based on DGI12 notes by Carl

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.

More information

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL: CS380: Computer Graphics Introduction Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg About the Instructor Joined KAIST at 2007 Main Research Focus Handle massive data for various

More information

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University A Brief Overview of Global Illumination Thomas Larsson, Afshin Ameri Mälardalen University 1 What is Global illumination? Global illumination is a general name for realistic rendering algorithms Global

More information

Ray Tracing. Quiz Discussion. Announcements: Final Projects. Last Time? Durer s Ray Casting Machine. Today

Ray Tracing. Quiz Discussion. Announcements: Final Projects. Last Time? Durer s Ray Casting Machine. Today Qui Discussion a Tracing Announcements: Final Projects Last Time? Everone should post one or more ideas for a final project on the discussion forum (it was our assignment over Spring Break) Connect with

More information

INFOGR Computer Graphics

INFOGR Computer Graphics INFOGR Computer Graphics Jacco Bikker & Debabrata Panja - April-July 2018 Lecture 4: Graphics Fundamentals Welcome! Today s Agenda: Rasters Colors Ray Tracing Assignment P2 INFOGR Lecture 4 Graphics Fundamentals

More information

Ray Tracing. Last Time? Today. Ray Casting. Durer s Ray Casting Machine. Reading for Today

Ray Tracing. Last Time? Today. Ray Casting. Durer s Ray Casting Machine. Reading for Today Last Time? a Tracing Keframing Procedural nimation Phsicall-Based nimation Forward and Inverse Kinematics Motion Capture Two solutions Toda eading for Toda a Casting "n improved illumination model for

More information

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows.

Global Illumination. Global Illumination. Direct Illumination vs. Global Illumination. Indirect Illumination. Soft Shadows. CSCI 480 Computer Graphics Lecture 18 Global Illumination BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Ch. 13.4-13.5] March 28, 2012 Jernej Barbic University of Southern California

More information