CptS 548 (Advanced Computer Graphics) Unit 3: Distribution Ray Tracing
|
|
- Hector Bennett
- 5 years ago
- Views:
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) 1 Advanced Ray Tracing (Recursive) Ray Tracing Antialiasing Motion Blur Distribution Ray Tracing Ray Tracing and Radiosity Assumptions Simple shading
More informationDistribution 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 informationEECS 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 informationI 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 informationReading. 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 informationDistribution 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 informationPhysically 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 informationAnti-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 informationAnti-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 informationReading. 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 informationAnti-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 informationDistributed 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 informationDistribution 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 informationDistributed 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 informationSpecular 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 informationVisual 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 informationRay 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 informationComputer 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 informationRay 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 informationdistribution 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 informationdistribution 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 informationRay 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 informationINFOGR 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 informationCptS 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 informationGlobal 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 informationCS-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 informationRay 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 informationChapter 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 informationSung-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 informationRay 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 informationLocal 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 informationShadows. 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 informationRay 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 informationLast 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 informationToday. 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 informationBuilding 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 informationCS 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 informationRaytracing & 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 informationRay 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 informationToday. 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 informationRay-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 informationRay 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 informationThe 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 informationAdvanced 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 informationConsider 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 informationTopic 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 informationComputer 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 informationTopic 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 informationKind 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 informationOther 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 informationTopic 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 informationRay 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 informationRendering: 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 informationRay 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 informationCS 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 informationReading 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 informationRay 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 informationDepth 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 informationRay 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 informationCOMP371 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 informationSo 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 informationCS 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 informationFall 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 informationPhoton 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 information13 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 informationTopics 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 informationMIT 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 informationIllumination 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 informationSampling: 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 informationMotivation. 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 informationTheoretically 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 informationMonte-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 informationRay 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 informationMITOCW 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 informationCOMP371 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 informationCSCI 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 informationGlobal 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 informationLecture 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 informationRay 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 informationTheoretically 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 informationAnti-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 informationRaycast 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 informationTurn 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 informationRasterization. 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 informationReal-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 informationProblem 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 informationLogistics. 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 informationProject 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 informationProgramming 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 informationIndirect 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 informationGlobal 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 informationComputer 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 informationRAYTRACING. 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 informationAnti-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 informationCS380: 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 informationA 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 informationRay 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 informationINFOGR 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 informationRay 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 informationGlobal 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