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

Size: px
Start display at page:

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

Transcription

1 Lecture 11 Ray tracing

2 Introduction Projection vs. ray tracing Projection Ray tracing Rendering

3 Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer graphics: Modelling ( creating 3d virtual worlds ) Rendering ( creating 2d images from 3d models ) Animation ( creating motion from sequences of 2d images ) Two basic methods for rendering: Projective methods Ray tracing

4 Projection vs. ray tracing Projection Ray tracing Projective methods A popular method for generating images from a 3D-model is projection, e.g.: 3D triangles project to 2D triangles Project vertices Fill/shade 2D triangle Q: what if two or more triangles project onto the same pixels?

5 Projection vs. ray tracing Projection Ray tracing Projective methods Used by OpenGL and DirectX Very fast: hardware supported Real-time applications (games) You will do this in the practicals this year

6 Projection vs. ray tracing Projection Ray tracing Ray tracing / ray casting For photo-realistic rendering, usually ray tracing algorithms are used: for every pixel Compute ray from viewpoint through pixel center Determine intersection point with first object hit by ray Calculate shading for the pixel (possibly with recursion)

7 Projection vs. ray tracing Projection Ray tracing Ray tracing / ray casting Global Illumination Traditionally (very) slow Recent developments: real-time ray tracing This was done in last year s practicals

8 Projection vs. ray tracing Projection Ray tracing Examples: landscapes (

9 Projection vs. ray tracing Projection Ray tracing Examples: office (

10 Projection vs. ray tracing Projection Ray tracing Examples: last year s practicals This year we will do shader programming

11 Projective methods vs. ray tracing Projective methods: Object-order rendering, i.e. For each object find and update all pixels that it influences Ray tracing: Image-order rendering, i.e. For each pixel find all objects that influence it and update it accordingly

12 A basic ray tracing algorithm FOR each pixel DO find 1st object hit by ray and surface normal n set pixel color to value computed from hit point, light, and n

13 Lines and rays Introduction We need to shoot a ray from the view point e through a pixel s on the screen towards the scene/objects Hmm, that should be easy with...

14 Lines and rays Introduction... a parametric line equation: where p(t) = e + t( s e) e is a point on the line (aka its support vector) s e is a vector on the line (aka its direction vector)

15 Lines and rays Introduction With this, our ray... starts at e (t = 0), goes throught s (t = 1), and shoots towards the scene/objects (t > 1) Hmm, calculation would become much easier if we would have...

16 Coordinate system Introduction... a camera coordinate system: That s easy! Using our camera position e our viewing direction w and a view up vector t we get u = w t v = w u

17 Coordinate system Introduction... a camera coordinate system: That s easy! Using our camera position e our viewing direction w and a view up vector t we get u = w t v = w u

18 Coordinate system Introduction... a camera coordinate system: That s easy! Using our camera position e our viewing direction w and a view up vector t we get u = w t v = w u

19 Coordinate system Introduction... a camera coordinate system: That s easy! Using our camera position e our viewing direction w and a view up vector t we get u = w t v = w u

20 Coordinate system Introduction Normalizing, i.e. w/ w u/ u v/ v gives us our coordinate system. Q: why did we chose w as viewing direction and not w?

21 Viewing window Introduction With this new coordinate system we can easily define our viewing window: left side: u = l right side: u = r top: v = t bottom: v = b

22 Viewing window Introduction Assuming our window has n x n y pixels, this becomes a simple window transformation from (r l) (t b) to n x n y. Hence, we can express a pixel at position (i, j) in our new coordinate system as (u, v) with u = l+(r l)(i+0.5) n x v = b+(t b)(j+0.5) n y

23 Viewing rays Introduction For orthographic views, viewing rays have the same direction w but different origin We get the origin with the previously introduced mapping from (i, j) to (u, v): u = l+(r l)(i+0.5) n x v = b+(t b)(j+0.5) n y and can write it as e + u u + v v

24 Viewing rays Introduction For perspective views, viewing rays have the same origin e but different direction If d denotes the origin s distance to the plane, and u, v are calculated as before, we can write the direction as d w + u u + v v.

25 A basic ray tracing algorithm FOR each pixel DO find 1st object hit by ray and surface normal n set pixel color to value computed from hit point, light, and n

26 Ray-object intersection (implicit surface) In general, the intersection points of a ray p(t) = e + td and an implicit surface f( p) = 0 can be calculated by f( p(t)) = 0 or f( e + td) = 0

27 Spheres Introduction The implicit equation for a sphere with center c = (x c, y c, z c ) and radius R is (x x c ) 2 +(y y c ) 2 +(z z c ) 2 R 2 = 0 or in vector form ( p c) ( p c) R 2 = 0

28 Intersections between rays and spheres Intersection points have to fullfil the ray equation p(t) = e + t d the sphere equation (x x c ) 2 + (y y c ) 2 +(z z c ) 2 R 2 = 0 Hence, we get ( e + t d c) ( e + t d c) R 2 = 0 which is the same as ( d d)t 2 +2 d ( e c)t+( e c) ( e c) R 2 = 0

29 Intersections between rays and spheres ( d d)t 2 +2 d ( e c)t+( e c) ( e c) R 2 = 0 is a quadratic equation in t, i.e. At 2 + Bt + C = 0 that can be solved by t 1,2 = B + B 2 4AC 2A and can have 0, 1, or 2 solutions.

30 Ray-object intersection (parametric surface) The intersection points of a ray p(t) = e + t d and a parametric surface f(u, v) can be calculated by x e + tx d = f(u, v) y e + ty d = f(u, v) z e + tz d = f(u, v) or e + t d = f(u, v) Notice that these are 3 equations with 3 unknowns (t, u, v).

31 For ray-triangle intersections: We first calculate the intersection point of the ray with the plane defined by the triangle. Then we check if this point is within the triangle or not.

32 Plane specification Introduction Recall that the plane V through the points a, b, and c can be written as p(β, γ) = a + β( b a) + γ( c a)

33 Plane specification Introduction Recall that the plane V through the points a, b, and c can be written as p(β, γ) = a + β( b a) + γ( c a)

34 Plane specification Introduction Recall that the plane V through the points a, b, and c can be written as p(β, γ) = a + β( b a) + γ( c a)

35 Ray-plane intersection Again, intersection points must fullfil the plane and the ray equation. Hence, we get e + t d = a + β( b a) + γ( c a) That give us...

36 Ray-plane intersection... the following three equations x e + tx d = x a + β(x b x a ) + γ(x c x a ) y e + ty d = y a + β(y b y a ) + γ(y c y a ) z e + tz d = z a + β(z b z a ) + γ(z c z a ) which can be rewritten as or as (x a x b )β + (x a x c )γ + x d t = x a x e (y a y b )β + (y a y c )γ + y d t = y a y e (z a z b )β + (z a z c )γ + z d t = z a z e x a x b x a x c x d β x a x e y a y b y a y c y d γ = y a y e z a z b z a z c z d t z a z e

37 Ray-plane intersection If we write x a x b x a x c x d β x a x e y a y b y a y c y d γ = y a y e z a z b z a z c z d t z a z e as then we see that β x a x e A γ = y a y e t z a z e β x a x e γ = A 1 y a y e t z a z e

38 Rays: parametric representation We can use t to calculate the intersection point p(t) (or β, γ to calculate p(β, γ)). And we can use β and γ to verify if it is inside of the triangle or not: β > 0 γ > 0 β + γ < 1

39 Ray-object intersection (implicit plane) Of course, we can also get the ray-plane intersection if the latter is given as implicit equation: ( p p 1 ) n = 0 Putting our ray p(t) = e + t d in this equation and solving for t gives us: t = ( p 1 e) n d n

40 If the plane was defined by a planar polygone, we can easily check if the resulting intersection point p(t) is within the polygone or not. Do you remember how?

41 A basic ray tracing algorithm FOR each pixel DO find 1st object hit by ray and surface normal n set pixel color to value computed from hit point, light, and n

42 model Introduction Remember our shading model: c = c r (c a + c l max(0, n l)) + c l ( h n) p with Ambient shading Lambertian shading Phong shading and Gouraud interpolation.

43 A basic ray tracing algorithm FOR each pixel DO compute viewing ray IF (ray hits an object with t [0, )) THEN Compute n Evaluate shading model and set pixel to that color ELSE set pixel color to background color

44 Shadows Ideal specular reflection Refraction Shadow feelers Shadows can be implemented fairly easy by so called shadow feelers / rays. Shoot a shadow ray p + t l from a point p towards a light source l. If ray hits object, p is in the shadow. Otherwise it s not. Because of potential precision issues, we often look at point p + ɛ l instead of p.

45 Shadows Ideal specular reflection Refraction Ideal specular or mirror reflection Key characteristic of a mirror: If looking from direction d to a spot on the reflecting surface, the viewer sees the same image as if looking from the surface point in direction r. Hence, we need to calculate the reflection vector: r = d 2( d n) n Then we shoot a ray in that direction.

46 Shadows Ideal specular reflection Refraction Ideal specular or mirror reflection

47 Shadows Ideal specular reflection Refraction Refraction Light traveling from one transparent medium into another one is refracted.

48 Shadows Ideal specular reflection Refraction Snell s law The angles before and after refraction are related as follows: n sin θ = n t sin φ. where n and n t are the refractive indices of the source and target media, respectively, and θ and φ the angles indicated in the image.

49 Shadows Ideal specular reflection Refraction Getting rid of sines An equation that relates sines of the angles θ and φ is not as convenient as an equation that relates the cosines of the angles. With the identity sin 2 φ + cos 2 φ = 1 we derive the following equation from Snell s law: cos 2 φ = 1 n2 (1 cos 2 θ) n 2 t

50 Shadows Ideal specular reflection Refraction Getting rid of sines Snell s law: n sin θ = n t sin φ sin φ = n n t sin θ Trigonometric identity: sin 2 φ + cos 2 φ = 1 And hence cos 2 φ = 1 sin 2 φ sin 2 φ = 1 cos 2 φ

51 Shadows Ideal specular reflection Refraction Constructing an orthonormal basis How do we find the refracted vector t? Assume the incoming vector d and the normal n are normalized. First, t lies in the plane spanned by d and n. Next, we can set up an orthonormal basis in this plane by picking an appropriate vector b.

52 Shadows Ideal specular reflection Refraction Finding the refraction vector We have t = b sin φ n cos φ d = b sin θ n cos θ

53 Shadows Ideal specular reflection Refraction Finding the refraction vector We have t = b sin φ n cos φ d = b sin θ n cos θ So we can solve for b: b = d+ n cos θ sin θ and for t: t = sin φ( d+ n cos θ) sin θ = n( d+ n cos θ) n t = n( d n( d n)) n t n cos φ n cos φ n 1 n2 (1 ( d n) 2 ) n 2 t

54 Instancing Constructive Solid Geometry Copying and transforming objects Instancing is an elegant technique to place various transformed copies of an object in a scene. Expl.: circle elipse O M 1 O M 3 O M 2 O M 4 O

55 Instancing Constructive Solid Geometry Copying and transforming objects Instead of making actual copies, we simply store a reference to a base object, together with a transformation matrix. That can save us lots of storage. Hmm, but how do we compute the intersection of a ray with a randomly rotated elipse? O M 1 O M 3 O M 4 O M 2 O

56 Instancing Constructive Solid Geometry Ray-instance intersection O p M 1 r MO Mp r

57 Instancing Constructive Solid Geometry Ray-instance intersection To determine the intersection q of a ray r with an instance MO, we first compute the intersection p of the inverse transformed ray M 1 r and the original object O. The point q is then simply M p. O MO p M 1 r Mp This way, complicated intersection tests (e.g. ray/ellipsoid) can often be replaced by simpler tests (ray/sphere). r

58 Instancing Constructive Solid Geometry Ray-instance intersection Two pitfalls: Surface normals transform differently! use (M 1 ) T instead of M 1 for normals The direction vector of the ray should not be normalized O MO p M 1 r Mp r

59 Instancing Constructive Solid Geometry Constructive Solid Geometry C S For ray tracing, we can basically use any object that allows us to calculate its intersection with a 3D line. Using Constructive Solid Geometry (CSG), we can build complex objects from simple ones with set operations. C S S C C S C S

60 Instancing Constructive Solid Geometry Intersections and CSG Big advantage: instead of actually constructing the objects, we can calculate ray-object intersections with the original objects and perform set operations on the resulting intervals. S C C S C S

61 Instancing Constructive Solid Geometry Intersections and CSG For every base object, we maintain an interval (or set of intervals) representing the part of the ray inside the object. The intervals for combined objects are computed with the same set operations that are applied to the base objects. S C C S C S

Graphics 2009/2010, period 1. Lecture 8: ray tracing

Graphics 2009/2010, period 1. Lecture 8: ray tracing Graphics 2009/2010, period 1 Lecture 8 Ray tracing Original plan Finish the basic stuff (book ch 1-9) today: We will not look into signal processing (chapter 4) We will look at triangle rasterization (cf.

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

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

Supplement to Lecture 16

Supplement to Lecture 16 Supplement to Lecture 16 Global Illumination: View Dependent CS 354 Computer Graphics http://www.cs.utexas.edu/~bajaj/ Notes and figures from Ed Angel: Interactive Computer Graphics, 6 th Ed., 2012 Addison

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

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

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

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

More information

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

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

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

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

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

Topics and things to know about them:

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

More information

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

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

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

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

Reflection and Shading

Reflection and Shading Reflection and Shading R. J. Renka Department of Computer Science & Engineering University of North Texas 10/19/2015 Light Sources Realistic rendering requires that we model the interaction between light

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

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

Illumination Models & Shading

Illumination Models & Shading Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));

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

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

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

Interpolation using scanline algorithm

Interpolation using scanline algorithm Interpolation using scanline algorithm Idea: Exploit knowledge about already computed color values. Traverse projected triangle top-down using scanline. Compute start and end color value of each pixel

More information

Lecture 11: Ray tracing (cont.)

Lecture 11: Ray tracing (cont.) Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -

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

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

CS559 Computer Graphics Fall 2015

CS559 Computer Graphics Fall 2015 CS559 Computer Graphics Fall 2015 Practice Final Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification

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

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

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

More information

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)

Introduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading) Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This

More information

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1) Computer Graphics Lecture 14 Bump-mapping, Global Illumination (1) Today - Bump mapping - Displacement mapping - Global Illumination Radiosity Bump Mapping - A method to increase the realism of 3D objects

More information

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

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

More information

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

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

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

More information

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

CS Computer Graphics: Introduction to Ray Tracing

CS Computer Graphics: Introduction to Ray Tracing CS 543 - Computer Graphics: Introduction to Ray Tracing by Robert W. Lindeman gogo@wpi.edu (with help from Peter Lohrmann ;-) View Volume View volume similar to gluperspective Angle Aspect Near? Far? But

More information

CS Computer Graphics: Introduction to Ray Tracing

CS Computer Graphics: Introduction to Ray Tracing CS 543 - Computer Graphics: Introduction to Ray Tracing by Robert W. Lindeman gogo@wpi.edu (with help from Peter Lohrmann ;-) View Volume View volume similar to gluperspective Angle Aspect Near? Far? But

More information

Introduction to Computer Graphics 7. Shading

Introduction to Computer Graphics 7. Shading Introduction to Computer Graphics 7. Shading National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive

More information

Geometric optics. The University of Texas at Austin CS384G Computer Graphics Don Fussell

Geometric optics. The University of Texas at Austin CS384G Computer Graphics Don Fussell Ray Tracing Geometric optics Modern theories of light treat it as both a wave and a particle. We will take a combined and somewhat simpler view of light the view of geometric optics. Here are the rules

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

Homework #2. Shading, Ray Tracing, and Texture Mapping

Homework #2. Shading, Ray Tracing, and Texture Mapping Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000

More information

Ray Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing

Ray Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing Ray Tracing Basics I Computer Graphics as Virtual Photography Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera model (focuses

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

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

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

CMSC427 Final Practice v2 Fall 2017

CMSC427 Final Practice v2 Fall 2017 CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions

More information

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing. Foley & Van Dam, Chapters 15 and 16 Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility

More information

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16 Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye

More information

CS 325 Computer Graphics

CS 325 Computer Graphics CS 325 Computer Graphics 04 / 02 / 2012 Instructor: Michael Eckmann Today s Topics Questions? Comments? Illumination modelling Ambient, Diffuse, Specular Reflection Surface Rendering / Shading models Flat

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

CS 130 Exam I. Fall 2015

CS 130 Exam I. Fall 2015 S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Raytracing CS148 AS3. Due :59pm PDT

Raytracing CS148 AS3. Due :59pm PDT Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building

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

Comp 410/510 Computer Graphics. Spring Shading

Comp 410/510 Computer Graphics. Spring Shading Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather

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

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley Spring 2012 Final CS184 - Foundations of Computer Graphics University of California at Berkeley Write your name HERE: Write your login HERE: Closed book. You may not use any notes or printed/electronic

More information

Introduction to Ray-tracing Objectives

Introduction to Ray-tracing Objectives Introduction to Ray-tracing Objectives Define ray-tracing as a means of rendering Ray-tracing for spheres Combining with shading model An algorithm framework 2 1 Light vs. Rendering 3 (Local) Ray-tracing

More information

Shading, Advanced Rendering. Week 7, Wed Feb 28

Shading, Advanced Rendering. Week 7, Wed Feb 28 University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Shading, Advanced Rendering Week 7, Wed Feb 28 http://www.ugrad.cs.ubc.ca/~cs314/vjan2007 Reading for Today and Tomorrow

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Lecture 15: Shading-I. CITS3003 Graphics & Animation

Lecture 15: Shading-I. CITS3003 Graphics & Animation Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional

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

Computer Graphics. Illumination and Shading

Computer Graphics. Illumination and Shading Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.

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

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012) Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

Illumination & Shading: Part 1

Illumination & Shading: Part 1 Illumination & Shading: Part 1 Light Sources Empirical Illumination Shading Local vs Global Illumination Lecture 10 Comp 236 Spring 2005 Computer Graphics Jargon: Illumination Models Illumination - the

More information

CPSC / Illumination and Shading

CPSC / Illumination and Shading CPSC 599.64 / 601.64 Rendering Pipeline usually in one step modelling of geometry transformation into world coordinate system placement of cameras and light sources transformation into camera coordinate

More information

8.1 Geometric Queries for Ray Tracing

8.1 Geometric Queries for Ray Tracing Fall 2017 CSCI 420: Computer Graphics 8.1 Geometric Queries for Ray Tracing Hao Li http://cs420.hao-li.com 1 Outline Ray-Surface Intersections Special cases: sphere, polygon Barycentric coordinates 2 Outline

More information

Review for Ray-tracing Algorithm and Hardware

Review for Ray-tracing Algorithm and Hardware Review for Ray-tracing Algorithm and Hardware Reporter: 邱敬捷博士候選人 Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Summer, 2017 1 2017/7/26 Outline

More information

CS 130 Exam I. Fall 2015

CS 130 Exam I. Fall 2015 CS 130 Exam I Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is

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

Movie: Geri s Game. Announcements. Ray Casting 2. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Movie: Geri s Game. Announcements. Ray Casting 2. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available Now Playing: Movie: Geri s Game Pixar, 1997 Academny Award Winner, Best Short Film Quicksand Under Carpet New Radiant Storm King from Leftover Blues: 1991-003 Released 004 Ray Casting Rick Skarbez, Instructor

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

Lecture 11. More Ray Casting/Tracing

Lecture 11. More Ray Casting/Tracing Lecture 11 More Ray Casting/Tracing Basic Algorithm For each pixel { } Shoot a ray from camera to pixel for all objects in scene Compute intersection with ray Find object with closest intersection Display

More information

Computer Graphics. Illumination and Shading

Computer Graphics. Illumination and Shading () Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic

More information

Overview: Ray Tracing & The Perspective Projection Pipeline

Overview: Ray Tracing & The Perspective Projection Pipeline Overview: Ray Tracing & The Perspective Projection Pipeline Lecture #2 Thursday, August 28 2014 About this Lecture! This is an overview.! Think of it as a quick tour moving fast.! Some parts, e.g. math,

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

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I

Computer Graphics. - Ray Tracing I - Marcus Magnor Philipp Slusallek. Computer Graphics WS05/06 Ray Tracing I Computer Graphics - Ray Tracing I - Marcus Magnor Philipp Slusallek Overview Last Lecture Introduction Today Ray tracing I Background Basic ray tracing What is possible? Recursive ray tracing algorithm

More information

Ray Tracing. Shandong University

Ray Tracing. Shandong University Ray Tracing Shandong University Introduction OpenGL is based on a pipeline model in which primitives are rendered one at time - No shadows (except by tricks or multiple renderings) - No multiple reflections

More information

A Little Background. Motivation. Motivation

A Little Background. Motivation. Motivation A Little Background Ray casting Process of shooting rays into scene to get pixel colors Nonrecursive, i.e., no interreflections Origin: Arthur Appel, 1968 (earlier work by others for nonrendering) Ray

More information

Illumination and Shading

Illumination and Shading CT4510: Computer Graphics Illumination and Shading BOCHANG MOON Photorealism The ultimate goal of rendering is to produce photo realistic images. i.e., rendered images should be indistinguishable from

More information

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

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

CS384G Midterm Examination Spring 2008

CS384G Midterm Examination Spring 2008 CS384G Midterm Examination Spring 2008 Each problem section is worth the indicated number of points. Show all work on these pages and don t forget to put your name on one of them! 1. (15 pts) In the two

More information

Questions??? Announcements Assignment 3 due today

Questions??? Announcements Assignment 3 due today Announcements Assignment 3 due today Questions??? Remember that you have late days (if you haven t used them yet ) Problem set 3 out at the end of the day Movie for Assignment 2 at the end of class 1 Ray

More information

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component

Topic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport

More information

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

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

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred Rendering Due: Wednesday November 15 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

Shading. Why we need shading. Scattering. Shading. Objectives

Shading. Why we need shading. Scattering. Shading. Objectives Shading Why we need shading Objectives Learn to shade objects so their images appear three-dimensional Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something

More information

CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu

CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer by Emmanuel Agu Ray Casting (Appel, 1968) direct illumination Recursive ray tracing (Whitted, 1980) Pseudocode for Ray Tracer

More information

CS452/552; EE465/505. Intro to Lighting

CS452/552; EE465/505. Intro to Lighting CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections

More information

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading

CENG 477 Introduction to Computer Graphics. Ray Tracing: Shading CENG 477 Introduction to Computer Graphics Ray Tracing: Shading Last Week Until now we learned: How to create the primary rays from the given camera and image plane parameters How to intersect these rays

More information

COMP environment mapping Mar. 12, r = 2n(n v) v

COMP environment mapping Mar. 12, r = 2n(n v) v Rendering mirror surfaces The next texture mapping method assumes we have a mirror surface, or at least a reflectance function that contains a mirror component. Examples might be a car window or hood,

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

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. Mach band effect The Mach band effect increases the visual unpleasant representation of curved surface using flat shading. A B 320322: Graphics and Visualization 456 Mach band effect The Mach band effect

More information

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima. Computer Graphics Lecture 02 Graphics Pipeline Edirlei Soares de Lima What is the graphics pipeline? The Graphics Pipeline is a special software/hardware subsystem

More information

Shading I Computer Graphics I, Fall 2008

Shading I Computer Graphics I, Fall 2008 Shading I 1 Objectives Learn to shade objects ==> images appear threedimensional Introduce types of light-material interactions Build simple reflection model Phong model Can be used with real time graphics

More information

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

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

More information