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

Size: px
Start display at page:

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

Transcription

1 Magdalena(Schwarzl 1

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

3 Basic algortihm For each pixel: 1. Construct ray 2. Test intersection with objects Nearest intersection point visible on image 3. Perform Shading 2

4 Components Scene: Objects, lights, viewpoint, materials,... xml scene format, see course website Camera: For ray construction Image: 2D Array of Vec3's (for r,g,b), represents pixels Rays: For intersection tests Shading: Illumination models 3

5 Ray Consists of origin + direction (both Vec3) dir Normalize direction! o Every point p on ray = o+ λ*dir Object Needs intersection routine, returning λ, normal, etc. Additional: Parameters for material properties,... For this lab: Spheres and triangle meshes Scene Arrange objects for easy intersection (for example in a list) 4

6 Implementation List<SceneObjects> objectlist for (y=0; y<width; y++) iterate over all pixels for (x=0; x<height; x++) ray = camera.constructrayforpixel(x,y) color = trace(ray,objectlist) image.setcolor(x,y,color) 5

7 Implementation List<SceneObjects> objectlist List<SceneObjects> objectlist for (y=0; y<width; y++) for (y=0; y<width; y++) for (x=0; x<height; x++) for (x=0; x<height; x++) ray = camera.constructrayforpixel(x,y) ray = camera.constructrayforpixel(x,y) color = trace(ray,objectlist) color = trace(ray,objectlist) image.setcolor(x,y,color) image.setcolor(x,y,color) trace(ray,objectlist) for(s=0; s < objectlist.size(); s++) object = objectlist.at(s) result = object.intersect(ray) //determine smallest result.t > 0! if (no intersection) return backgroundcolor else return result.color 6

8 So far: 7

9 Shading Extend trace method to use local illumination models: trace(ray,objectlist) for(s=0; s < objectlist.size(); s++) object = objectlist.at(s) result = object.intersect(ray) //determine smallest result.t > 0! if (no intersection) return backgroundcolor else //determine intersection point Vec3 ip = ray.origin + result.t*ray.direction Vec3 normal = result.normal Vec3 light Vec3 color = shade(ray, object, ip, normal, light) return color 8

10 Shading More than one light source: trace(ray,objectlist) for(s=0; s < objectlist.size(); s++) object = objectlist.at(s) result = object.intersect(ray) //determine smallest result.t > 0! if (no intersection) return backgroundcolor else //determine intersection point Vec3 ip = ray.origin + result.t*ray.direction Vec3 normal = result.normal Vec3 overallcolor; for (l = 0; l < lightsinscene; l++) Vec3 light overallcolor += shade(ray, object, ip, normal, light) return overallcolor 9

11 Shadows Point is in shadow if not directly illuminated by light Test by creating shadow ray from intersection point to light source Intersect with all objects again if (intersection in front of light) return darkcolor else //perform shading as before 10

12 So far, only direct illumination: 11

13 So far, only direct illumination: VS Recursion needed! 12

14 Recursion For every intersection point: Create new rays for reflection/refraction Trace those rays! Stop recursion after reaching max. bounces 13

15 Recursion trace(ray,objectlist, depth) //perform intersection and shading as before... if depth >= maxbounces return overallcolor stop after max bounces //depending on object's material properties, cast new rays if (object.transmittance > 0) ray.origin = ip ray.direction = calculatetransmittancedirection() colortrans = trace(ray,objectlist, depth+1) if (object.reflectance > 0) ray.origin = ip ray.direction = calculatereflectancedirection() colorrefl = trace(ray,objectlist, depth+1) return finalcolor = //combine colors 14

16 Combine colors Coefficients for reflectance, transmittance are defined in scene file Reflectance + Transmittance + own Color = 1 finalcolor = r*reflectedcolor + t*transmittedcolor + (1-r-t)*ownColor 15

17 Agenda Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start Magdalena(Schwarzl 3

18 Ray(intersec;on A(ray(is(defined(as X = P + λ! d! d P Where(X(is(any(point(on(the(line( Magdalena(Schwarzl 4

19 Sphere A(sphere(is(defined(as r 2 = ( X C) 2 C r Where X is any point on the sphere Magdalena(Schwarzl 5

20 Intersect Ray-Sphere We(want(to(find(a(point(on(both! d r 2 = ( X C) 2 X = P + λ! d S 1 Compute lambda C r 2 = ((P + λ d) C! ) 2 P S 2 r r 2 = ((P + λ d) C! )((P + λ d) C! ) Magdalena(Schwarzl 6

21 Intersect Ray-Sphere r 2 = ((P + λ d) C! )((P + λ d) C! ) 0 = d 2 λ 2 + λ ( 2P d! 2C d! ) + ( P C) 2 r 2 A = d 2 B = ( 2P d! 2C d! ) C = ( P C) 2 r 2 λ 1,2 = B ± B2 4AC 2A Magdalena(Schwarzl 7

22 Intersect Ray-Sphere λ 1,2 = B ± B2 4AC 2A Magdalena(Schwarzl 8

23 Intersect Ray-Sphere λ 1,2 = B ± B2 4AC 2A <(0( no(intersec;on( =(0( tangent( >(0( two(intersec;on(points(! d S 1! d P r C P! d S 1 r C P S 2 r C Magdalena(Schwarzl 9

24 Barycentric coordinates V 2 A(triangle(is(defined(as e 12 V 1 e 23 e 13 V 3 Where X is any point inside the triangle Magdalena(Schwarzl 10

25 Barycentric coordinates V 2 A(triangle(is(defined(as 1 u v = A 1 e 12 u = A 2 A 1 + A 2 + A 3 A 1 + A 2 + A 3 V 1 A 3 A 2 X A 1 e 23 v = A 3 A 1 + A 2 + A 3 e 13 V 3 Where X is any point inside the triangle Magdalena(Schwarzl 11

26 Barycentric coordinates V 2 A(triangle(is(defined(as 1 u v = A 1 e 12 u = A 2 A 1 + A 2 + A 3 A 1 + A 2 + A 3 V 1 A 3 A 2 X A 1 e 23 v = A 3 A 1 + A 2 + A 3 e 13 X ( u, v) = ( 1 u v)v 1 + uv 2 + vv 3 u, v 0 V 3 Where X is any point inside the triangle u + v 1 Magdalena(Schwarzl 12

27 Triangle A triangle is defined by: X ( u, v) = ( 1 u v)v 1 + uv 2 + vv 3 u, v 0 u + v 1 V 1 e 12 V 2 e 13 e 23 V 3 3 points define a plane: Magdalena(Schwarzl 13

28 Triangle A triangle is defined by: X ( u, v) = ( 1 u v)v 1 + uv 2 + vv 3 u, v 0 u + v 1 V 1 e 12 V 2 e 13 e 23 V 3 3 points define a plane: n = e 13 e 12 e 13 e 12 nx = nv 1 Magdalena(Schwarzl 14

29 Intersect Ray-Triangle We(want(the(intersec;on ( ) = 1 u v X u, v ( )V 1 + uv 2 + vv 3 V 1 e 12 S 1 V 2 e 23 nx = nv 1 X = P + λ! d! d e 13 Compute lambda P V 3 n( P + λ d! ) = nv 1 Magdalena(Schwarzl 15

30 Intersect Triangle-Sphere 1) ray-plane λ = nv 1 np n! d Magdalena(Schwarzl 16

31 Intersect Triangle-Sphere 1) ray-plane λ = nv 1 np n! d!= 0 One intersection = 0 No intersection with plane S 1 S 1 = P + λ! d parallel Inside plane Magdalena(Schwarzl 17

32 Intersect Ray-Triangle 2) Inside triangle? P + λ d! = ( 1 u v)v 1 + uv 2 + vv 3 Use x,y,z to get linear system of 3 equations Solve for v & u Magdalena(Schwarzl 18

33 Intersect Ray-Triangle 2) Inside triangle? P + λ d! = ( 1 u v)v 1 + uv 2 + vv 3 Use x,y,z to get linear system of 3 equations Solve for v & u u,v <=1 AND u,v >=0 intersection u,v > 1 OR u,v < 0 no intersection Magdalena(Schwarzl 19

34 Agenda Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start Magdalena(Schwarzl 20

35 Transformations Think about transformations early! Magdalena(Schwarzl 21

36 Transformations Think about transformations early! Two approaches: transform object inverse transform ray Precompute inv.-transfomations No translation on vectors Inverse-transpose for normals Magdalena(Schwarzl 22

37 Precision Problems? Magdalena(Schwarzl 23

38 Precision Problems? Shadow ray hit its source (collision at distance ==0) Offset the ray cast source a small amount in the direction of the ray. Do never test for == 0 Test for between 0 ± ε Magdalena(Schwarzl 24

39 Normals, Texures Visual debugging Output textures, normals, reflection vectors as color to see problems 0 ±ε Magdalena(Schwarzl 25

40 Agenda Ray(tracing(algorithm( Code(structure( Ray(intersec;ons Sphere Triangle Hints Transforma;ons Debugging How(to(start Magdalena(Schwarzl 26

41 How to start Plan code structure Classes, methods, Decide on libraries xml-parsing, images Error messages!! Create a black image Read in xml scene Compute intersections Use only object color Compute shading ambient, diffuse, specular Test on PC labs Include readme!! compile command If it might take longer ;) Magdalena(Schwarzl 27

42 Questions Any questions? Magdalena(Schwarzl 28

Ray tracing Tutorial. Lukas Herzberger

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

More information

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

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

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

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

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

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

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

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

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

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

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

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

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

More information

CPSC GLOBAL ILLUMINATION

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

More information

Ray Tracing COMP575/COMP770

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

More information

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

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

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

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

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

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

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

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

More information

Ray 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

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan

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

More information

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

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

Photorealism. Photorealism: Ray Tracing. Ray Tracing

Photorealism. Photorealism: Ray Tracing. Ray Tracing CS 460 Computer Graphics Professor Richard Eckert Ray Tracing Texture Mapping Radiosity Photorealism April 30, 2004 Photorealism -- Taking into Account Global Illumination Light can arrive at surfaces

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

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

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

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

Photorealistic 3D Rendering for VW in Mobile Devices

Photorealistic 3D Rendering for VW in Mobile Devices Abstract University of Arkansas CSCE Department Advanced Virtual Worlds Spring 2013 Photorealistic 3D Rendering for VW in Mobile Devices Rafael Aroxa In the past few years, the demand for high performance

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

Raytracing. COSC 4328/5327 Scott A. King

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

More information

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Shadow Algorithms. CSE 781 Winter Han-Wei Shen Shadow Algorithms CSE 781 Winter 2010 Han-Wei Shen Why Shadows? Makes 3D Graphics more believable Provides additional cues for the shapes and relative positions of objects in 3D What is shadow? Shadow:

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

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

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

More information

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y. COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages

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

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

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

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

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

More information

Computer Graphics Tick 2

Computer Graphics Tick 2 Computer Graphics Tick 2 Advanced Ray Tracing Effects Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will extend the ray tracer to handle a new shape and additional

More information

Transformations in Ray Tracing. MIT EECS 6.837, Durand and Cutler

Transformations in Ray Tracing. MIT EECS 6.837, Durand and Cutler Transformations in Ray Tracing Linear Algebra Review Session Tonight! 7:30 9 PM Last Time: Simple Transformations Classes of Transformations Representation homogeneous coordinates Composition not commutative

More information

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

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

More information

Textures and normals in ray tracing

Textures and normals in ray tracing Textures and normals in ray tracing CS 4620 Lecture 7 1 Texture mapping Objects have properties that vary across the surface 2 Texture Mapping So we make the shading parameters vary across the surface

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

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

Introduction to Computer Graphics. Ray Tracing Review

Introduction to Computer Graphics. Ray Tracing Review Introduction to Computer Graphics Ray Tracing Review 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

More information

Metal for Ray Tracing Acceleration

Metal for Ray Tracing Acceleration Session #WWDC18 Metal for Ray Tracing Acceleration 606 Sean James, GPU Software Engineer Wayne Lister, GPU Software Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted

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

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

Global Illumination. COMP 575/770 Spring 2013

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

More information

lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections

lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections lecture 19 Shadows - ray tracing - shadow mapping - ambient occlusion Interreflections In cinema and photography, shadows are important for setting mood and directing attention. Shadows indicate spatial

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

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

CS 488. More Shading and Illumination. Luc RENAMBOT

CS 488. More Shading and Illumination. Luc RENAMBOT CS 488 More Shading and Illumination Luc RENAMBOT 1 Illumination No Lighting Ambient model Light sources Diffuse reflection Specular reflection Model: ambient + specular + diffuse Shading: flat, gouraud,

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

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

Shadows. COMP 575/770 Spring 2013

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

More information

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

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

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

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

More information

COMPUTER GRAPHICS AND INTERACTION

COMPUTER GRAPHICS AND INTERACTION DH2323 DGI17 COMPUTER GRAPHICS AND INTERACTION INTRODUCTION TO RAYTRACING Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

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

Ray Tracing. Outline. Ray Tracing: History

Ray Tracing. Outline. Ray Tracing: History Foundations of omputer Graphics Online Lecture 9: Ray Tracing 1 History and asic Ray asting Ravi Ramamoorthi Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

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 Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012)

Ray Casting. Outline in Code. Outline. Finding Ray Direction. Heckbert s Business Card Ray Tracer. Foundations of Computer Graphics (Fall 2012) Foundations of Computer Graphics (Fall 2012) CS 184, Lectures 17, 18: Nuts and bolts of Ray Tracing Heckbert s Business Card Ray Tracer http://inst.eecs.berkeley.edu/~cs184 Acknowledgements: Thomas Funkhouser

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

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

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

Lecture 18: Primer on Ray Tracing Techniques

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

More information

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

lecture 18 - ray tracing - environment mapping - refraction

lecture 18 - ray tracing - environment mapping - refraction lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the

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

Ray Tracer Due date: April 27, 2011

Ray Tracer Due date: April 27, 2011 Computer graphics Assignment 4 1 Overview Ray Tracer Due date: April 27, 2011 In this assignment you will implement the camera and several primitive objects for a ray tracer, and a basic ray tracing algorithm.

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

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

CS 184: Assignment 4 Simple Raytracer

CS 184: Assignment 4 Simple Raytracer CS 184: Assignment 4 Simple Raytracer Ravi Ramamoorthi 1 Introduction This assignment asks you to write a first simple raytracer. Raytracers can produce some of the most impressive renderings, with high

More information

Indirect Illumination

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

More information

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available Now Playing: Movie: For The Birds Pixar, 2000 Liar Built To Spill from You In Reverse Released April 11, 2006 Ray Tracing 1 Rick Skarbez, Instructor COMP 575 November 1, 2007 Announcements Programming

More information

Recall: Basic Ray Tracer

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

More information

CS Simple Raytracer for students new to Rendering

CS Simple Raytracer for students new to Rendering CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students

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

Computer Graphics Tick 1

Computer Graphics Tick 1 Computer Graphics Tick 1 Introduction to Ray Tracing Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will write code for a simple ray tracer. Ray tracing is a

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

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

Last week. Machiraju/Zhang/Möller

Last week. Machiraju/Zhang/Möller Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

CS 465 Program 5: Ray II

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

More information

Computer Graphics. - Introduction to Ray Tracing - Philipp Slusallek

Computer Graphics. - Introduction to Ray Tracing - Philipp Slusallek Computer Graphics - Introduction to Ray Tracing - Philipp Slusallek Rendering Algorithms Rendering Definition: Given a 3D scene as input and a camera, generate a 2D image as a view from the camera of the

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

Viewing and Ray Tracing. CS 4620 Lecture 4

Viewing and Ray Tracing. CS 4620 Lecture 4 Viewing and Ray Tracing CS 4620 Lecture 4 2014 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2014 Steve

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

More information

Introduction to Visualization and Computer Graphics

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

More information