Introduction to Computer Graphics. Ray Tracing Review

Size: px
Start display at page:

Download "Introduction to Computer Graphics. Ray Tracing Review"

Transcription

1 Introduction to Computer Graphics Ray Tracing Review

2

3

4 Ray Tracing For each light in scene Emit 1,000,000,000 photons For each photon Find what geometry photon hits Color photon Scatter photon Find what photon hits next... Pray photon hits camera CCD Light pixel that CCD micro-square represents

5 Ray Tracing For each light in scene Emit 1,000,000,000 photons For each photon Find what geometry photon hits Color photon Scatter photon Find what photon hits next... Pray photon hits camera CCD Light pixel that CCD micro-square represents

6 Ray Tracing

7 Ray Tracing

8 Ray Generation

9 Ray Generation

10 Ray Generation

11 Ray Generation

12 Ray Generation

13 Ray Generation

14 Ray Generation

15 Ray Generation screenv eye screenu screencenter

16 Ray Generation screenv eye x: -1 1 y: -1 1 y screenu screencenter x

17 Ray Generation ray origin: eye ray direction: screencenter + x screenu + y screenv screenv eye x: -1 1 y: -1 1 y screenu screencenter x

18 Ray Generation

19 Sphere Intersection Ray

20 Sphere Intersection Circle Ray

21 Sphere Intersection Circle Origin Ray Direction

22 Sphere Intersection Origin Ray Circle Origin Direction

23 Sphere Intersection Origin Ray Circle Origin Radius Direction

24 Sphere Intersection Origin Ray Circle Origin Radius scalar Direction

25 Sphere Intersection Ray: emission point (e) and direction (d) e d

26 Sphere Intersection Ray: emission point (e) and direction (d) Point on Ray: p(t) = e + td e t p d

27 Sphere Intersection e Circle Origin Radius scalar d

28 Sphere Intersection Circle: center point (o) and radius (r) e o r d

29 Sphere Intersection Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 e o r d

30 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d

31 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d (e + td - o) (e + td - o) - r 2 = 0

32 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d (td + e - o) (td + e - o) - r 2 = 0

33 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d (td + (e - o)) (td + (e - o)) - r 2 = 0

34 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d t 2 (d d) + 2td (e - o) + (e - o) (e - o) - r 2 = 0

35 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d at 2 + bt + c = 0 a = d d b = 2d (e - o) c = (e - o) (e - o) - r 2

36 Sphere Intersection e Circle: center point (o) and radius (r) Point on circle: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d t = -b ± b 2-4ac 2a a = d d b = 2d (e - o) c = (e - o) (e - o) - r 2

37 Sphere Intersection e Circle: center point (o) and radius (r) Point on sphere: (p - o) (p - o) - r 2 = 0 Point on Ray: p(t) = e + td p o e + td r d t = -b ± b 2-4ac 2a a = d d b = 2d (e - o) c = (e - o) (e - o) - r 2

38 Sphere Intersection h = b 2-4ac h < 0 : ray misses sphere h = 0 : ray tangent to sphere h > 0 : ray intersects sphere 2x p o r e d t = -b ± b 2-4ac 2a a = d d b = 2d (e - o) c = (e - o) (e - o) - r 2

39 Sphere Intersection h = b 2-4ac Which intersection h < 0 : ray misses sphere should be used? h = 0 : ray tangent to sphere h > 0 : ray intersects sphere 2x p o r e d t = -b ± b 2-4ac 2a a = d d b = 2d (e - o) c = (e - o) (e - o) - r 2

40

41

42 Lighting

43 Lighting

44 Lighting Idr Idg Idb = l ˆ Ldr kdr nˆ = l ˆ Ldgkdg nˆ = l ˆ nˆ Ldbkdb 0 < Idx< 1 n l ( Ldr, Ldg, Ldb) = light color ( kdr kdg kdb),, = material color Ldx = light channel intensity kdx= material diffuse coefficient for channel

45

46

47 Plane Intersection Plane: (o - p) n = 0 p n o

48 Plane Intersection Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

49 Plane Intersection (o - (e + td)) n = 0 Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

50 Plane Intersection (o - e - td) n = 0 Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

51 Plane Intersection (-td + (o - e)) n = 0 Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

52 Plane Intersection -td n + (o - e) n = 0 Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

53 Plane Intersection -td n = -(o - e) n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

54 Plane Intersection td n = (o - e) n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

55 Plane Intersection t = (o - e) n d n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 p e d n o

56 Plane Intersection (o - e) n t = Point on Ray: p(t) = e + td d n Plane: (o - p) n = 0 if d n = 0 : ray parallel to plane p e d n o

57

58

59 Shadow

60 Shadow

61 Shadow

62 Shadow

63

64

65 Circle Intersection t = (o - e) n d n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 if d n = 0 : ray parallel to plane p e d n o

66 Circle Intersection t = (o - e) n d n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 if d n = 0 : ray parallel to plane p e d n o r

67 Circle Intersection t = (o - e) n d n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 if d n = 0 : ray parallel to plane p e d n o r if (p - o) (p - o) > r 2 Outside Circle

68 Triangle Intersection t = (o - e) n d n Point on Ray: p(t) = e + td Plane: (o - p) n = 0 if d n = 0 : ray parallel to plane p e d n o n = (b - a) (c - a)

69 Triangle Intersection 2D c p a b

70 Triangle Intersection 2D c p a b

71 Triangle Intersection 3D c acp p bcp a abp b

72 Triangle Intersection 3D c acp p bcp a b = a b sinθ a abp b

73 Triangle Intersection 3D c acp p bcp a b = area(parallelogram) a abp b

74 Triangle Intersection 3D c acp λ2 p λ1 bcp a b = area(parallelogram) a λ3 abp b area( abc) = (0.5) a b

75 Triangle Intersection λ1 = bcp abc λ2 = acp abc λ3 = abp abc area( abc) = (0.5) a b acp a c λ2 p λ3 λ1 abp 3D bcp b

76 Triangle Intersection λ1 = 0.5 (b-p) (c-b) 0.5 (b-a) (c-b) λ2 = 0.5 (c-p) (a-c) 0.5 (b-a) (c-b) λ3 = 0.5 (a-p) (b-a) 0.5 (b-a) (c-b) area( abc) = (0.5) a b acp a c λ2 p λ3 λ1 abp 3D bcp b

77 Triangle Intersection λ1 = λ2 = λ3 = (b-p) (c-b) (b-a) (c-b) (c-p) (a-c) (b-a) (c-b) (a-p) (b-a) (b-a) (c-b) acp a c λ2 p λ3 λ1 abp 3D bcp b

78 Triangle Intersection λ1 = λ2 = λ3 = (b-p) (c-b) (b-a) (c-b) (c-p) (a-c) (b-a) (c-b) (a-p) (b-a) (b-a) (c-b) sign? acp a c λ2 p λ3 λ1 abp 3D bcp b

79 Triangle Intersection λ1 = λ2 = λ3 = (b-p) (c-b) (b-a) (c-b) (c-p) (a-c) (b-a) (c-b) (a-p) (b-a) (b-a) (c-b) acp a c λ2 p λ3 λ1 abp bcp,sign(((b-p) (c-b)) ((b-a) (c-b))), sign( ((c-p) (a-c)), sign( ((a-p) (b-a)) b ((b-a) (c-b)) ((b-a) (c-b))

80 Triangle Intersection λ1 = λ2 = λ3 = (b-p) (c-b) (b-a) (c-b) (c-p) (a-c) (b-a) (c-b) (a-p) (b-a) (b-a) (c-b) acp a c λ2 p λ3 λ1 abp bcp,sign(((b-p) (c-b)) ((b-a) (c-b))), sign( ((c-p) (a-c)), sign( ((a-p) (b-a)) b ((b-a) (c-b)) ((b-a) (c-b)) p(t) = e + td t = (o - e) n d n λ1 > 0, λ2 > 0, λ3 > 0

81

82

83 Reflection

84 Reflection n l r

85 Reflection n l θ θ r

86 Reflection l n = l n cosθ n l θ θ r

87 Reflection l n = l n cosθ n l (l n)n r

88 Reflection 2(l n) = 2 l n cosθ n l 2(l n)n r

89 Reflection 2(l n) = 2 l n cosθ n l r -l 2(l n)n r = 2(l n)n - l r

90 Reflection r

91 Reflection What now gets hit? r

92 Reflection What now gets hit? Recursive! r

93

94

95

96

97

98 Texture Coordinates

99 Texture Coordinates 3D 2D

100 Texture Coordinates?

101 Texture Coordinates

102 Texture Coordinates θ = atan2(z,x) ɸ = asin(y/r)

103 Texture Coordinates θ = atan2(z,x) ɸ = asin(y/r) -π < θ < π -π/2 < ɸ < π/2

104 Texture Coordinates θ = atan2(z,x) ɸ = asin(y/r) -π < θ < π 0<u<1 -π/2 < ɸ < π/2 0<v<1

105 Texture Coordinates θ = atan2(z,x) ɸ = asin(y/r) u = θ / 2π + 1/2 v = ɸ / π + 1/2 -π < θ < π 0<u<1 -π/2 < ɸ < π/2 0<v<1

106 Texture Coordinates (0.6,0.2) (0,0) (1,0) (0.15,0.1) (0.6,0.9) (0,1)

107

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

Mobile Application Programming. OpenGL ES 3D

Mobile Application Programming. OpenGL ES 3D Mobile Application Programming OpenGL ES 3D All Points Transformations xf = xo + tx yf = yo + ty xf = xo sx yf = yo sy xf = xi cosθ - yi sinθ yf = xi sinθ + yi cosθ All Points Transformations xf = xo +

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

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018

Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 Ray Tracing CSCI 4239/5239 Advanced Computer Graphics Spring 2018 What is it? Method for rendering a scene using the concept of optical rays bouncing off objects More realistic Reflections Shadows How

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Shading Models. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Shading Models. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 10: Shading Models Welcome! Today s Agenda: Introduction Light Transport Materials Sensors Shading INFOGR Lecture 10 Shading Models 3 Introduction

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

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

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

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

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

Mobile Application Programming: Android. OpenGL ES 3D

Mobile Application Programming: Android. OpenGL ES 3D Mobile Application Programming: Android OpenGL ES 3D All Points Transformations xf = xo + tx yf = yo + ty xf = xo sx yf = yo sy xf = xi cosθ - yi sinθ yf = xi sinθ + yi cosθ All Points Transformations

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

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard):

The feature set you are required to implement in your ray tracer is as follows (by order from easy to hard): Ray Tracing exercise TAU, Computer Graphics, 0368.3014, semester B Go to the Updates and FAQ Page Overview The objective of this exercise is to implement a ray casting/tracing engine. Ray tracing is a

More information

Intersecting Simple Surfaces. Dr. Scott Schaefer

Intersecting Simple Surfaces. Dr. Scott Schaefer Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point

More information

CS 4620 Midterm, March 21, 2017

CS 4620 Midterm, March 21, 2017 CS 460 Midterm, March 1, 017 This 90-minute exam has 4 questions worth a total of 100 points. Use the back of the pages if you need more space. Academic Integrity is expected of all students of Cornell

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

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

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

More information

Ray-Tracing. 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

CS348B Lecture 2 Pat Hanrahan, Spring Greeks: Do light rays proceed from the eye to the light, or from the light to the eye?

CS348B Lecture 2 Pat Hanrahan, Spring Greeks: Do light rays proceed from the eye to the light, or from the light to the eye? Page 1 Ray Tracing Today Basic algorithms Overview of pbrt Ray-surface intersection for single surface Next lecture Acceleration techniques for ray tracing large numbers of geometric primitives Classic

More information

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

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

More information

CS 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

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction

Global Rendering. Ingela Nyström 1. Effects needed for realism. The Rendering Equation. Local vs global rendering. Light-material interaction Effects needed for realism Global Rendering Computer Graphics 1, Fall 2005 Lecture 7 4th ed.: Ch 6.10, 12.1-12.5 Shadows Reflections (Mirrors) Transparency Interreflections Detail (Textures etc.) Complex

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

Agenda. Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start

Agenda. Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start Magdalena(Schwarzl 1 Agenda Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start Magdalena(Schwarzl 2 Basic algortihm For each pixel: 1. Construct

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

Ray tracing. Methods of Programming DV2. Introduction to ray tracing and XML. Forward ray tracing. The image plane. Backward ray tracing

Ray tracing. Methods of Programming DV2. Introduction to ray tracing and XML. Forward ray tracing. The image plane. Backward ray tracing Methods of Programming DV2 Introduction to ray tracing and XML Ray tracing Suppose we have a description of a 3-dimensional world consisting of various objects spheres, triangles (flat), planes (flat,

More information

INFOGR Computer Graphics. Jacco Bikker - April-July Lecture 3: Ray Tracing (Introduction) Welcome!

INFOGR Computer Graphics. Jacco Bikker - April-July Lecture 3: Ray Tracing (Introduction) Welcome! INFOGR Computer Graphics Jacco Bikker - April-July 2016 - Lecture 3: Ray Tracing (Introduction) Welcome! Today s Agenda: Primitives (contd.) Ray Tracing Intersections Assignment 2 Textures INFOGR Lecture

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

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

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

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

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping

Advanced Graphics. Path Tracing and Photon Mapping Part 2. Path Tracing and Photon Mapping Advanced Graphics Path Tracing and Photon Mapping Part 2 Path Tracing and Photon Mapping Importance Sampling Combine importance sampling techniques Reflectance function (diffuse + specular) Light source

More information

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques

Complex Features on a Surface. CITS4241 Visualisation Lectures 22 & 23. Texture mapping techniques. Texture mapping techniques Complex Features on a Surface CITS4241 Visualisation Lectures 22 & 23 Texture Mapping Rendering all surfaces as blocks of colour Not very realistic result! Even with shading Many objects have detailed

More information

Computer Graphics and Image Processing Ray Tracing I

Computer Graphics and Image Processing Ray Tracing I Computer Graphics and Image Processing Ray Tracing I Part 1 Lecture 9 1 Today s Outline Introduction to Ray Tracing Ray Casting Intersecting Rays with Primitives Intersecting Rays with Transformed Primitives

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

Photorealism. Ray Tracing Texture Mapping Radiosity

Photorealism. Ray Tracing Texture Mapping Radiosity Photorealism Ray Tracing Texture Mapping Radiosity Photorealism -- Taking into Account Global Illumination Light can arrive at surfaces indirectly This light called global illumination To now we ve approximated

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

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

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

Phong Lighting & Materials. Some slides modified from: David Kabala Others from: Andries Van Damm, Brown Univ.

Phong Lighting & Materials. Some slides modified from: David Kabala Others from: Andries Van Damm, Brown Univ. Phong Lighting & Materials Some slides modified from: David Kabala Others from: Andries Van Damm, Brown Univ. Lighting and Shading Lighting, or illumination, is the process of computing the intensity and

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

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

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

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

Assignment 2 Ray Tracing

Assignment 2 Ray Tracing Assignment 2 Ray Tracing Overview The concept of ray tracing: a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters

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

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

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

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

More information

Ray Tracing I: Basics

Ray Tracing I: Basics Ray Tracing I: Basics Today Basic algorithms Overview of pbrt Ray-surface intersection Next lecture Techniques to accelerate ray tracing of large numbers of geometric primitives Light Rays Three ideas

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

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

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 4204 Computer Graphics Introduction to Ray Tracing Yong Cao Virginia Tech Reference: Ed Angle, Interactive Computer Graphics, University of New Mexico, class notes Raytracing (Picture from Povray.org)

More information

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting

COMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I

More information

CSE 681 Illumination and Phong Shading

CSE 681 Illumination and Phong Shading CSE 681 Illumination and Phong Shading Physics tells us What is Light? We don t see objects, we see light reflected off of objects Light is a particle and a wave The frequency of light What is Color? Our

More information

Today s class. Simple shadows Shading Lighting in OpenGL. Informationsteknologi. Wednesday, November 21, 2007 Computer Graphics - Class 10 1

Today s class. Simple shadows Shading Lighting in OpenGL. Informationsteknologi. Wednesday, November 21, 2007 Computer Graphics - Class 10 1 Today s class Simple shadows Shading Lighting in OpenGL Wednesday, November 21, 27 Computer Graphics - Class 1 1 Simple shadows Simple shadows can be gotten by using projection matrices Consider a light

More information

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces)

Photon Maps. The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces) Photon Mapping 1/36 Photon Maps The photon map stores the lighting information on points or photons in 3D space ( on /near 2D surfaces) As opposed to the radiosity method that stores information on surface

More information

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

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

More information

Ray Tracing I. Internet Raytracing Competition

Ray Tracing I. Internet Raytracing Competition History Ray Tracing came from the Physics of lens making. The process was that of drawing lines or rays through a glass shape to determine it s lens properties. It is also related to early perspective

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

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

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

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

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

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

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

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

COMPLETION OF Z-buffer Graphics Pipeline

COMPLETION OF Z-buffer Graphics Pipeline Z-buffer algorithm for each polygon in model project vertices of polygon onto viewing plane for each pixel inside the projected polygon calculate pixel colour calculate pixel z-value compare pixel z-value

More information

LECTURE 5: VECTOR GEOMETRY : REPRESENTATION OF PLANES. Prof. N. Harnew University of Oxford MT 2012

LECTURE 5: VECTOR GEOMETRY : REPRESENTATION OF PLANES. Prof. N. Harnew University of Oxford MT 2012 LECTURE 5: VECTOR GEOMETRY : REPRESENTATION OF PLANES Prof. N. Harnew University of Oxford MT 2012 1 Outline: 5. MORE ON VECTOR GEOMETRY 5.1 Vector representation of planes 5.1.1 Plane from vector to Cartesian

More information

Ray Tracing through Viewing Portals

Ray Tracing through Viewing Portals Ray Tracing through Viewing Portals Introduction Chris Young Igor Stolarsky April 23, 2008 This paper presents a method for ray tracing scenes containing viewing portals circular planes that act as windows

More information

1999, Denis Zorin. Ray tracing

1999, Denis Zorin. Ray tracing Ray tracing Ray tracing shadow rays normal reflected ray pixel ray camera normal Ray casting/ray tracing Iterate over pixels, not objects. Effects that are difficult with Z-buffer, are easy with ray tracing:

More information

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30

More information

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

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

More information

Emission Computed Tomography Notes

Emission Computed Tomography Notes Noll (24) ECT Notes: Page 1 Emission Computed Tomography Notes Introduction Emission computed tomography (ECT) is the CT applied to nuclear medicine. There are two varieties of ECT: 1. SPECT single-photon

More information

Graphics (INFOGR ): Example Exam

Graphics (INFOGR ): Example Exam Graphics (INFOGR 2015-2016): Example Exam StudentID / studentnummer Last name / achternaam First name / voornaam Do not open the exam until instructed to do so! Read the instructions on this page carefully!

More information

INFOGR Computer Graphics

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

More information

Ray Tracing. 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

Simple Lighting/Illumination Models

Simple Lighting/Illumination Models Simple Lighting/Illumination Models Scene rendered using direct lighting only Photograph Scene rendered using a physically-based global illumination model with manual tuning of colors (Frederic Drago and

More information

Ray-tracing Cont. Ray-tracing

Ray-tracing Cont. Ray-tracing Ray-tracing Cont. Ray-tracing light s-ray e-ray s-ray light Intersecting polygons starts with intersecting a plane 2 1 Shadow Rays Once an intersection is computed, we send a shadow ray to each light source

More information

Geometry--Unit 10 Study Guide

Geometry--Unit 10 Study Guide Class: Date: Geometry--Unit 10 Study Guide Determine whether each statement is true or false. If false, give a counterexample. 1. Two different great circles will intersect in exactly one point. A) True

More information

Interactive Real-Time Raycasting

Interactive Real-Time Raycasting Interactive Real-Time Raycasting CS184 AS4 Due 2009-02-26 11:00pm We start our exploration of Rendering - the process of converting a high-level object-based description into a graphical image for display.

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

Assignment 3: Path tracing

Assignment 3: Path tracing Assignment 3: Path tracing EDAN30 April 2, 2011 In this assignment you will be asked to extend your ray tracer to support path tracing. In order to pass the assignment you need to complete all tasks. Make

More information

Project 1 Simple Ray Tracer

Project 1 Simple Ray Tracer Project 1 Simple Ray Tracer CSE 168: Rendering Algorithms, Winter 2017 Description Write a simple ray tracer capable of rendering boxes and instances and outputting the image to a BMP file. It should support

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

dq dt I = Irradiance or Light Intensity is Flux Φ per area A (W/m 2 ) Φ =

dq dt I = Irradiance or Light Intensity is Flux Φ per area A (W/m 2 ) Φ = Radiometry (From Intro to Optics, Pedrotti -4) Radiometry is measurement of Emag radiation (light) Consider a small spherical source Total energy radiating from the body over some time is Q total Radiant

More information

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates

More information

Illumination. The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong

Illumination. The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong INTRODUCTION TO COMPUTER GRAPHIC S Illumination The slides combine material from Andy van Dam, Spike Hughes, Travis Webb and Lyn Fong Andries van Dam October 29, 2009 Illumination Models 1/30 Outline Physical

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 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

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

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling

SUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling CS380: Introduction to Computer Graphics Ray tracing Chapter 20 Min H. Kim KAIST School of Computing Modeling SUMMARY 2 1 Types of coordinate function Explicit function: Line example: Implicit function:

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

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

Mobile Application Programming: Android. OpenGL Operation

Mobile Application Programming: Android. OpenGL Operation Mobile Application Programming: Android OpenGL Operation OpenGL ES C-Based Performance-Oriented Graphics Library Wrapper libraries provided for Java, C#, etc. Produces 2D images from 2D or 3D geometric

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

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz Outline Jan Kautz Basic terms in radiometry Radiance Reflectance The operator form of the radiance equation Meaning of the operator form Approximations to the radiance equation 2005 Mel Slater, 2006 Céline

More information

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,

More information

Illumination Modelling

Illumination Modelling Illumination Modelling 1 Specular term 2 Local shading analysis: interaction between one light source, the viewer and a single point on the object surface. how do we model specular term? a = angle between

More information