Indirect Illumination

Size: px
Start display at page:

Download "Indirect Illumination"

Transcription

1 Indirect Illumination Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2

2 Announcements Midterm on October 17 th Office hours: Misha: Monday 2-3 Malone 229 Sing Chun: Friday 9-10 Malone 216 Steve: Tuesday 12-1 Malone 122 Yan: Wednesday 1-2 Malone 122

3 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

4 Overview Direct Illumination Emission at light sources Direct light at surface points Global illumination Shadows Transmissions Inter-object reflections

5 Shadows Shadow term tells if light sources are blocked Cast ray towards each light source i. If the ray is blocked, do not consider the contribution of the light.

6 Shadows Shadow term tells if light sources are blocked Cast ray towards each light source i S i = 0 if ray is blocked, S i = 1 otherwise 1 0 Shadow Term I = I E + K A I A + K D N, + K S V, R n I S

7 Shadows Shadow term tells if light sources are blocked Cast ray towards each light source i S i = 0 if ray is blocked, S i = 1 otherwise 1 S 0 = 1: 0 contributes I = I E + 0 K A I A + K D N, + K S V, R n Shadow Term I S

8 Shadows Shadow term tells if light sources are blocked Cast ray towards each light source i S i = 0 if ray is blocked, S i = 1 otherwise 1 S 0 = 1: 0 contributes S 1 = 0: 1 doesn t contribute I = I E + 0 K A I A + K D N, + K S V, R n Shadow Term I S

9 Ray Casting Trace primary rays from camera Direct illumination from unblocked lights only

10 Recursive Ray Tracing Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays

11 Mirror Reflections Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 Recall: The specularity of a surface, K S, measures how mirror-like it is. 0 I = I E + K A I A + K D N, + K S V, R n I S

12 Mirror Reflections Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for mirror reflection ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R

13 Mirror Reflections Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for mirror reflection ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R

14 Mirror Reflections Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for mirror reflection ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R

15 Mirror Reflections Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays

16 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for refraction ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

17 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for refraction ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

18 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for refraction ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

19 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for refraction ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

20 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays 1 0 Radiance for refraction ray I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

21 Transparent Refraction Also trace secondary rays from hit surfaces Consider contributions from: 1. Reflected Rays 2. Refracted Rays

22 Transparency and Shadow Problem: If a surface is transparent, then rays to the light source may pass through the object Over-shadowing

23 Transparency and Shadow Problem: If a surface is transparent, then rays to the light source may pass through the object Need to modify the shadow term so that instead of representing a binary (0/1) value, it gives the fraction of light passing through. Accumulate transparency values as the ray travels to the light source. I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

24 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 S 0 = 1: 0 contributes fully 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

25 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 S 0 = 1: 0 contributes fully S 1 =?: 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

26 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 S 0 = 1: 0 contributes fully S 1 = 1 K T?: K T 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

27 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 S 0 = 1: 0 contributes fully S 1 = 1 K T K T?: K T 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

28 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 K T S 0 = 1: 0 contributes fully S 1 = 1 K T K T : 1 contributes partially 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

29 Transparency and Shadow Accumulate transparency values as the ray travels to the light source. 1 K T S 0 = 1: 0 contributes fully S 1 = 1 K T K T : 1 contributes partially For solid models can use the distance travelled through the surface instead: S = e d K T 0 I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

30 Transparency and Shadow Accumulate transparency values as the ray travels to the light source.

31 Transparent Refraction When a light of light passes through a transparent object, the ray of light can bend, (θ i θ r ). N θ i T θ r

32 Snell s aw The way that light bends is determined by the indices of refraction of the internal and external materials η i and η r : N η r sin θ r = η i sin θ i θ i T θ r The index of refraction of air is η = 1.

33 Snell s aw The way that light bends is determined by the indices of refraction of the internal and external materials η i and η r : N η r sin θ r = η i sin θ i θ i T θ r T = η i η r cos θ i cos θ r N η i η r

34 Snell s aw The way that light bends is determined by the indices of refraction of the internal and external materials η i and η r : η r sin θ r = η i sin θ i 1 0

35 Snell s aw The way that light bends is determined by the indices of refraction of the internal and external materials η i and η r :

36 Snell s aw and Shadows Problem (Caustics): If a surface is transparent, then rays to the light source may not travel in a straight line This is difficult to address with ray-tracing

37 Termination Criteria How do we determine when to stop recursing? Depth of iteration» Bounds the number of times a ray will bounce around the scene Cut-off value» Ignores contribution from bounces that contribute very little

38 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran } return p

39 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran } return p I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

40 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran } return p I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

41 Termination Criteria if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec; The first reflected ray should be cast if it can contribute an intensity greater than the cut-off. K S 1 > cut-off 1 K S 1 0

42 Termination Criteria if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec; The second reflected ray should be cast if it can contribute an intensity greater than the cut-off. K S 2 K S 1 > cut-off 1 K S 2 > cut-off K S 1 K S 2 K S 1 0

43 Termination Criteria if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec; The second reflected ray should be cast if it can contribute a global intensity greater than the cut-off. K S 2 K S 1 > cut-off 1 K S 2 > cut-off K S 1 The second reflected ray should be cast if it can reflect 0 at least cut-off K1 of the local intensity S K S 2 K S 1

44 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran } return p I = I E + K A I A + K D N, + K S V, R n I S + K s I R + K T I T

45 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) Why do we need the terms? To ensure that the new ray does not hit its starting location! reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran } return p

46 Termination Criteria Pixel GetColor( scene, ray, ir, depth, cutoff ) { Pixel p(0,0,0) Ray reflect, refract Intersection hit = FindIntersection( ray, scene ) if ( hit ) { p += GetSurfaceColor( hit.position ) reflect.direction = Reflect( ray.direction, hit.normal ) reflect.position = hit.position + reflect.direction* if( depth >0 && hit.kspec>cutoff ) p += GetColor( scene, reflect, ir, depth-1, cutoff/hit.kspec )*hit.kspec } } return p refract.direction = Refract( ray.direction, hit.normal, ir, hit.ir ) refract.position = hit.position + refract.direction* if( depth >0 && hit.ktran>cutoff ) p += GetColor( scene, refract, hit.ir, depth-1, cutoff/hit.ktran ) *hit.ktran Warning: In practice, cutoff is a scalar while hit.ktran/kspec are RGB values.

47 Illumination Examples Ray tracing (rays to point light source) Courtesy Henrik Wann Jensen

48 Illumination Examples Soft shadows (rays to area light source) Courtesy Henrik Wann Jensen

49 Illumination Examples Caustics (rays from light source) Courtesy Henrik Wann Jensen

50 Illumination Examples Full Global Illumination Courtesy Henrik Wann Jensen

51 Recursive Ray Tracing GetColor calls RayTrace recursively Image RayTrace( Camera camera, Scene scene, int width, int height, int depth, float cutoff ) { Image image = new Image( width, height ); for( int i = 0 ; i<width ; i++ ) for( int j = 0 ; j<height ; j++ ) { Ray ray = ConstructRayThroughPixel( camera, i, j ); image[i][j] = GetColor( scene, ray, 1, depth, cutoff ); } return image; }

52 Summary Ray casting (direct Illumination) Usually use simple analytic approximations for light source emission and surface reflectance Recursive ray tracing (global illumination) Incorporate shadows, mirror reflections, and pure refractions All of this is an approximation so that it is practical to compute More on global illumination later!

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. Connelly Barnes CS 4810: Graphics

Global Illumination. Connelly Barnes CS 4810: Graphics Global Illumination Connelly Barnes CS 4810: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Direct Illumination

More information

Ray-Tracing. Misha Kazhdan

Ray-Tracing. Misha Kazhdan Ray-Tracing Misha Kazhdan Ray-Tracing In graphics, we often represent the surface of a 3D shape by a set of triangles. Goal: Ray-Tracing Take a collection of triangles representing a 3D scene and render

More information

Illumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2

Illumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Ray Casting Image RayCast(Camera camera, Scene scene, int width, int height) { Image image = new Image(width, height); for

More information

Illumination. Courtesy of Adam Finkelstein, Princeton University

Illumination. Courtesy of Adam Finkelstein, Princeton University llumination Courtesy of Adam Finkelstein, Princeton University Ray Casting mage RayCast(Camera camera, Scene scene, int width, int height) { mage image = new mage(width, height); for (int i = 0; i < width;

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

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

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

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

Lighting and Reflectance COS 426

Lighting and Reflectance COS 426 ighting and Reflectance COS 426 Ray Casting R2mage *RayCast(R3Scene *scene, int width, int height) { R2mage *image = new R2mage(width, height); for (int i = 0; i < width; i++) { for (int j = 0; j < height;

More information

3D Rendering and Ray Casting

3D Rendering and Ray Casting 3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)

More information

3D Rendering and Ray Casting

3D Rendering and Ray Casting 3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)

More information

Ray Tracing. Kjetil Babington

Ray Tracing. Kjetil Babington Ray Tracing Kjetil Babington 21.10.2011 1 Introduction What is Ray Tracing? Act of tracing a ray through some scene Not necessarily for rendering Rendering with Ray Tracing Ray Tracing is a global illumination

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

Illumination. Thomas Funkhouser Princeton University C0S 426, Fall 2000

Illumination. Thomas Funkhouser Princeton University C0S 426, Fall 2000 llumination homas Funkhouser Princeton University C0 426, Fall 2000 ay Casting mage aycastcamera camera, cene scene, int width, int height { mage image = new magewidth, height; for int i = 0; i < width;

More information

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project

Lighting. To do. Course Outline. This Lecture. Continue to work on ray programming assignment Start thinking about final project To do Continue to work on ray programming assignment Start thinking about final project Lighting Course Outline 3D Graphics Pipeline Modeling (Creating 3D Geometry) Mesh; modeling; sampling; Interaction

More information

Photorealism: Ray Tracing

Photorealism: Ray Tracing Photorealism: Ray Tracing Reading Assignment: Chapter 13 Local vs. Global Illumination Local Illumination depends on local object and light sources only Global Illumination at a point can depend on any

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

Lecture 10: Ray tracing

Lecture 10: Ray tracing Interactive Computer Graphics Lecture 10: Ray tracing Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Direct and Global Illumination Direct illumination:

More information

Raytracing. COSC 4328/5327 Scott A. King

Raytracing. COSC 4328/5327 Scott A. King Raytracing COSC 4328/5327 Scott A. King Basic Ray Casting Method pixels in screen Shoot ray p from the eye through the pixel. Find closest ray-object intersection. Get color at intersection Basic Ray Casting

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

Recursive Ray Tracing. Ron Goldman Department of Computer Science Rice University

Recursive Ray Tracing. Ron Goldman Department of Computer Science Rice University Recursive Ray Tracing Ron Goldman Department of Computer Science Rice University Setup 1. Eye Point 2. Viewing Screen 3. Light Sources 4. Objects in Scene a. Reflectivity b. Transparency c. Index of Refraction

More information

COMP30019 Graphics and Interaction Ray Tracing

COMP30019 Graphics and Interaction Ray Tracing COMP30019 Graphics and Interaction Ray Tracing Department of Computer Science and Software Engineering The Lecture outline Ray tracing Recursive Ray Tracing Binary Space Partition (BSP) Trees Refraction

More information

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination Global Illumination Why Global Illumination Last lecture Basic rendering concepts Primitive-based rendering Today: Global illumination Ray Tracing, and Radiosity (Light-based rendering) What s Global Illumination

More information

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura Computer Graphics Lecture 13 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Ray Tracing. Local Illumination. Object Space: Global Illumination. Image Space: Backward Ray Tracing. First idea: Forward Ray Tracing

Ray Tracing. Local Illumination. Object Space: Global Illumination. Image Space: Backward Ray Tracing. First idea: Forward Ray Tracing CSCI 420 Computer Graphics Lecture 15 Ra Tracing Ra Casting Shadow Ras Reflection and Transmission [Angel Ch. 11] Local Illumination Object illuminations are independent No light scattering between objects

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

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

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

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015

Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015 Rendering Part I (Basics & Ray tracing) Lecture 25 December 1, 2015 What is rendering? Generating an image from a 3D scene model Ingredients Representation of 3D geometry Specification for camera & lights

More information

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15 Computer Graphics Lecture 10 Global Illumination 1: Ray Tracing and Radiosity Taku Komura 1 Rendering techniques Can be classified as Local Illumination techniques Global Illumination techniques Local

More information

Lighting and Shading

Lighting and Shading Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,

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

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer

COMP 175 COMPUTER GRAPHICS. Lecture 11: Recursive Ray Tracer. COMP 175: Computer Graphics April 9, Erik Anderson 11 Recursive Ray Tracer Lecture 11: Recursive Ray Tracer COMP 175: Computer Graphics April 9, 2018 1/40 Note on using Libraries } C++ STL } Does not always have the same performance. } Interface is (mostly) the same, but implementations

More information

SAMPLING AND NOISE. Increasing the number of samples per pixel gives an anti-aliased image which better represents the actual scene.

SAMPLING AND NOISE. Increasing the number of samples per pixel gives an anti-aliased image which better represents the actual scene. SAMPLING AND NOISE When generating an image, Mantra must determine a color value for each pixel by examining the scene behind the image plane. Mantra achieves this by sending out a number of rays from

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 420 Computer Graphics Lecture 18 Global Illumination Jernej Barbic University of Southern California BRDFs Raytracing and Radiosity Subsurface Scattering Photon Mapping [Angel Ch. 11] 1 Global Illumination

More information

The Rendering Equation. Computer Graphics CMU /15-662

The Rendering Equation. Computer Graphics CMU /15-662 The Rendering Equation Computer Graphics CMU 15-462/15-662 Review: What is radiance? Radiance at point p in direction N is radiant energy ( #hits ) per unit time, per solid angle, per unit area perpendicular

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

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

Ø Sampling Theory" Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling Strategies" Ø The Hall illumination model. Ø Original ray tracing paper

Ø Sampling Theory Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling Strategies Ø The Hall illumination model. Ø Original ray tracing paper CS 431/636 Advanced Rendering Techniques Ø Dr. David Breen Ø Korman 105D Ø Wednesday 6PM 8:50PM Presentation 6 5/16/12 Questions from ast Time? Ø Sampling Theory" Ø Fourier Analysis Ø Anti-aliasing Ø Supersampling

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

03 RENDERING PART TWO

03 RENDERING PART TWO 03 RENDERING PART TWO WHAT WE HAVE SO FAR: GEOMETRY AFTER TRANSFORMATION AND SOME BASIC CLIPPING / CULLING TEXTURES AND MAPPING MATERIAL VISUALLY DISTINGUISHES 2 OBJECTS WITH IDENTICAL GEOMETRY FOR NOW,

More information

Reading. Ray Tracing. Eye vs. light ray tracing. Geometric optics. Required: Watt, sections , (handout) Further reading:

Reading. Ray Tracing. Eye vs. light ray tracing. Geometric optics. Required: Watt, sections , (handout) Further reading: Reading Required: Watt, sections 1.3-1.4, 12.1-12.5.1 (handout) Further reading: Ray Tracing T. Whitted. An improved illumination model for shaded display. Communications of the ACM 23(6), 343-349, 1980.

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

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

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)

More information

Chapter 11. Caustics and Global Illumination

Chapter 11. Caustics and Global Illumination 11 and Global Illumination Chapter 11 Direct illumination occurs when a light source directly illuminates an object or objects in a scene. Indirect illumination occurs if light illuminates objects by reflection

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

Lecture 18: Primer on Ray Tracing Techniques

Lecture 18: Primer on Ray Tracing Techniques Lecture 18: Primer on Ray Tracing Techniques 6.172: Performance Engineering of Software Systems Joshua Slocum November 16, 2010 A Little Background Image rendering technique Simulate rays of light - ray

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

Lighting affects appearance

Lighting affects appearance Lighting affects appearance 1 Source emits photons Light And then some reach the eye/camera. Photons travel in a straight line When they hit an object they: bounce off in a new direction or are absorbed

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

Intro to Ray-Tracing & Ray-Surface Acceleration

Intro to Ray-Tracing & Ray-Surface Acceleration Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric

More information

Surface Rendering Methods

Surface Rendering Methods Surface Rendering Methods 6 th Week, 2008 Sun-Jeong Kim Polygon Rendering Methods Determining the surface intensity at every projected pixel position using an illumination model Light-material interactions

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

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

Reading. Ray Tracing. Eye vs. light ray tracing. Geometric optics. Required:

Reading. Ray Tracing. Eye vs. light ray tracing. Geometric optics. Required: Reading Required: Watt, sections 1.3-1.4, 12.1-12.5.1 (handout) Triangle intersection handout Further reading: Ray Tracing Watt errata on syllabus page, needed if you work from his book instead of the

More information

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection Advanced Computer Graphics CSE 163 [Spring 017], Lecture 11 Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir To Do Assignment due May 19 Should already be well on way. Contact us for difficulties etc. This

More information

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface

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

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

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Final Project: Real-Time Global Illumination with Radiance Regression Functions Volume xx (200y), Number z, pp. 1 5 Final Project: Real-Time Global Illumination with Radiance Regression Functions Fu-Jun Luan Abstract This is a report for machine learning final project, which combines

More information

The Rendering Equation & Monte Carlo Ray Tracing

The Rendering Equation & Monte Carlo Ray Tracing Last Time? Local Illumination & Monte Carlo Ray Tracing BRDF Ideal Diffuse Reflectance Ideal Specular Reflectance The Phong Model Radiosity Equation/Matrix Calculating the Form Factors Aj Ai Reading for

More information

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

More information

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Photon Mapping. Michael Doggett Department of Computer Science Lund university Photon Mapping Michael Doggett Department of Computer Science Lund university Outline Photon Mapping (ch. 14 in textbook) Progressive Stochastic 2011 Michael Doggett How to make light sampling faster?

More information

Ray Tracing. Brian Curless CSEP 557 Fall 2016

Ray Tracing. Brian Curless CSEP 557 Fall 2016 Ray Tracing Brian Curless CSEP 557 Fall 2016 1 Reading Required: Shirley, section 10.1-10.7 (online handout) Triangle intersection (online handout) Further reading: Shirley errata on syllabus page, needed

More information

Implementation Issues

Implementation Issues Implementation Issues More from Interface point of view Y V U Eye N X Z World Coordinate System (WCS) Viewing Coordinate System (VCS) View Coordinate System (VCS) Viewing coordinate system Position and

More information

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline

Motivation. Sampling and Reconstruction of Visual Appearance. Effects needed for Realism. Ray Tracing. Outline Sampling and Reconstruction of Visual Appearance CSE 274 [Fall 2018], Special Lecture Ray Tracing Ravi Ramamoorthi http://www.cs.ucsd.edu/~ravir Motivation Ray Tracing is a core aspect of both offline

More information

CS 428: Fall Introduction to. Raytracing. Andrew Nealen, Rutgers, /18/2009 1

CS 428: Fall Introduction to. Raytracing. Andrew Nealen, Rutgers, /18/2009 1 CS 428: Fall 2009 Introduction to Computer Graphics Raytracing 11/18/2009 1 Forward ray tracing From the light sources Simulate light transport one ray at a time Rays start from lights + bounce around

More information

Ray Casting. Outline. Similar to glulookat derivation. Foundations of Computer Graphics

Ray Casting. Outline. Similar to glulookat derivation. Foundations of Computer Graphics Foundations of omputer Graphics Online Lecture 10: Ray Tracing 2 Nuts and olts amera Ray asting Outline amera Ray asting (choose ray directions) Ravi Ramamoorthi Outline in ode Image Raytrace (amera cam,

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Lecture 19: All Together with Refraction

Lecture 19: All Together with Refraction Lecture 19: All Together with Refraction December 1, 2016 12/1/16 CSU CS410 Fall 2016, Ross Beveridge & Bruce Draper 1 How about Interreflections? Note reflections Granite tabletop Visible on base Also

More information

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017

CS354 Computer Graphics Ray Tracing. Qixing Huang Januray 24th 2017 CS354 Computer Graphics Ray Tracing Qixing Huang Januray 24th 2017 Graphics Pipeline Elements of rendering Object Light Material Camera Geometric optics Modern theories of light treat it as both a wave

More information

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016 The Rendering Equation Computer Graphics CMU 15-462/15-662, Fall 2016 Review: What is radiance? Radiance at point p in direction N is radiant energy ( #hits ) per unit time, per solid angle, per unit area

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

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

Today. Part 1: Ray casting Part 2: Lighting Part 3: Recursive Ray tracing Part 4: Acceleration Techniques

Today. Part 1: Ray casting Part 2: Lighting Part 3: Recursive Ray tracing Part 4: Acceleration Techniques Ray Tracing Today Part 1: Ray casting Part 2: Lighting Part 3: Recursive Ray tracing Part 4: Acceleration Techniques Example 1 Example 2 What is 3D Rendering? Construct an image from a 3D model Camera

More information

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing

Introduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing Lecture 11 Ray tracing Introduction Projection vs. ray tracing Projection Ray tracing Rendering Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer

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

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

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch 15-462 Computer Graphics I Lecture 7 Lighting and Shading February 12, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Light Sources Phong Illumination Model

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

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

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

Recall: Basic Ray Tracer

Recall: Basic Ray Tracer 1 Recall: Ray Tracing Generate an image by backwards tracing the path of light through pixels on an image plane Simulate the interaction of light with objects Recall: Basic Ray Tracer Trace a primary ray

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

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

Ray Casting. To Do. Outline. Outline in Code. Foundations of Computer Graphics (Spring 2012) Heckbert s Business Card Ray Tracer

Ray Casting. To Do. Outline. Outline in Code. Foundations of Computer Graphics (Spring 2012) Heckbert s Business Card Ray Tracer Foundations of Computer Graphics (Spring 2012) CS 184, Lectures 16, 18: Nuts and bolts of Ray Tracing To Do Finish homework 3 Prepare for Midterm (Monday) Everything before this week (no raytracing) Closed

More information

Ray tracing Tutorial. Lukas Herzberger

Ray tracing Tutorial. Lukas Herzberger Ray tracing Tutorial Lukas Herzberger Agenda Ray tracing algorithm (lab 4a) Intersection tests Ray tracing algorithm (lab 4b) Hints & common mistakes Agenda Ray tracing algorithm (lab 4a) Intersection

More information

Voxel-Based Global-Illumination

Voxel-Based Global-Illumination Voxel-Based Global-Illumination By Thiedemann, Henrich, Grosch, and Müller Real-Time Near-Field Global Illumination on a Voxel Model (Morteza), M.Sc. Marc Treib Overview Illumination What is voxelization?

More information

Last Time? Ray Casting. Administrivia: Lab & Office Hours. Notes on Assignments. Ray Casting. Overview of Today

Last Time? Ray Casting. Administrivia: Lab & Office Hours. Notes on Assignments. Ray Casting. Overview of Today Ray Casting Last Time? Luxo Jr. Applications of Computer Graphics Overview of the semester IFS Assignment 0 due tomorrow @ 11:59pm Questions? 1 2 Notes on Assignments Make sure you turn in a linux or windows

More information

CS5620 Intro to Computer Graphics

CS5620 Intro to Computer Graphics So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading

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

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Path Tracing part 2 Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Monte Carlo Integration Monte Carlo Integration The rendering (& radiance) equation is an infinitely recursive integral

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

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

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity Schedule Review Session: Tuesday November 18 th, 7:30 pm, Room 2-136 bring lots of questions! MIT 6.837 Monte-Carlo Ray Tracing Quiz 2: Thursday November 20 th, in class (one weeks from today) MIT EECS

More information

Recursion and Data Structures in Computer Graphics. Ray Tracing

Recursion and Data Structures in Computer Graphics. Ray Tracing Recursion and Data Structures in Computer Graphics Ray Tracing 1 Forward Ray Tracing imagine that you take a picture of a room using a camera exactly what is the camera sensing? light reflected from the

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