Image synthesis using classical optics

Slides:



Advertisements
Similar presentations
GR2 Advanced Computer Graphics AGR
Advertisements

13.1 si31_2001 SI31 Advanced Computer Graphics AGR Lecture 13 An Introduction to Ray Tracing.
Lecture 14 Illumination II – Global Models
Part I: Basics of Computer Graphics
Ray Tracing & Radiosity Dr. Amy H. Zhang. Outline  Ray tracing  Radiosity.
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS 376 Introduction to Computer Graphics 04 / 09 / 2007 Instructor: Michael Eckmann.
RAY TRACING.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
Ray Casting Ray-Surface Intersections Barycentric Coordinates Reflection and Transmission [Shirley, Ch.9] Ray Tracing Handouts Ray Casting Ray-Surface.
Parallelizing Raytracing Gillian Smith CMPE 220 February 19 th, 2008.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
Ray Tracing Jerry Sui Adam Conner. Part I – Introduction to Ray Tracing Final Product.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
Ray Tracing 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
CSC418 Computer Graphics n Raytracing n Shadows n Global Illumination.
Cornell CS465 Fall 2004 Lecture 3© 2004 Steve Marschner 1 Ray Tracing CS 465 Lecture 3.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Computer graphics & visualization Ray-Tracing – A Quick review.
12/05/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling Very brief intro to global illumination.
-Global Illumination Techniques
Project Raytracing. Content Goals Idea of Raytracing Ray Casting – Therory – Practice Raytracing – Theory – Light model – Practice Output images Conclusion.
Ray Tracing Sang Il Park SEjong University With lots of slides stolen from Jehee Lee, Doug James, Steve Seitz, Shree Nayar, Alexei Efros, Fredo Durand.
Ray Tracing Chapter CAP4730: Computational Structures in Computer Graphics.
Raytracing and Global Illumination Intro. to Computer Graphics, CS180, Fall 2008 UC Santa Barbara.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Ray Tracing.
1 Dr. Scott Schaefer Ray Tracing. 2/42 Ray Tracing Provides rendering method with  Refraction/Transparent surfaces  Reflective surfaces  Shadows.
1 Ray-Tracing ©Anthony Steed Overview n Recursive Ray Tracing n Shadow Feelers n Snell’s Law for Refraction n When to stop!
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
Basic Ray Tracing CMSC 435/634.
Ray-tracing.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
CSCE 441: Computer Graphics Ray Tracing
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Stochastic Path Tracing Algorithms K. H. Ko School of Mechatronics Gwangju.
1. Ray Casting Surface intersection Visible surface detection Ray Tracing Bounce the ray Collecting intensity Technique for global reflection and transmission.
RENDERING : Global Illumination
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi.
Ray Tracing I. Reading Hill, Chapter 14, Sections 14.1 to 14.5 Hill, Chapter 14, Sections and
CS552: Computer Graphics Lecture 36: Ray Tracing.
Introduction to Ray Tracing Dr. B. Raghu Professor /CSE Sri Ramanujar Engineering College.
Basic Ray Tracing CMSC 435/634.
Advanced Computer Graphics

CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Photorealistic Rendering vs. Interactive 3D Graphics
Ray Tracing Ed Angel Professor Emeritus of Computer Science
Ray Tracing Forward Ray Tracing
Ray Tracing Dr. Scott Schaefer.
Ray Tracing Geometry CSE 681.
RAY TRACING.
Mike Merchant Nicholas Hilbert
Ray Tracing Geometry CSE 681.
© University of Wisconsin, CS559 Fall 2004
Ray Tracer Project CSE 557.
Path Tracing (some material from University of Wisconsin)
Lighting.
(c) 2002 University of Wisconsin
CS 551 / 645: Introductory Computer Graphics
CS5500 Computer Graphics May 29, 2006
CSCE 441: Computer Graphics Ray Tracing
GR2 Advanced Computer Graphics AGR
Ray Tracer Project CSE 557.
Illumination Model 고려대학교 컴퓨터 그래픽스 연구실.
Illumination Model 고려대학교 컴퓨터 그래픽스 연구실.
CSC418 Computer Graphics Raytracing Shadows Global Illumination.
Presentation transcript:

Image synthesis using classical optics Raytracing Image synthesis using classical optics

Raytracing Create an image by following the paths of rays through a scene “Backward raytracing": traces rays out of the light sources out into the world “Forward raytracing": traces rays out from the eye (camera) and out into the world and eventually back to the light sources

Forward Raytracing Simplest form (raycasting): for each pixel on the screen, send a ray out into the world determine the first surface hit by the ray perform a lighting calculation at that surface point set the color of the pixel according to the result of the lighting calculation

Raytracing rays from eye screen

Rays A ray is a half-line – it has only one end It can be written p = o + t*d, t in (0,∞) p is position (vector) o is the origin (vector) d is direction (vector) t is the parameter

Ray Intersection Key computation: intersection of ray with objects Typically produced by solving an equation: p = f(t) Say the object is defined by an implicit surface, g(x,y,z) = 0 Then g(f(t)) = 0 Smallest value of t means first intersection

Ray Intersection

Ray-Sphere Intersection Implicit equation of sphere: (x-xc)2 + (y-yc)2 + (z-zc)2 – R2 = 0 Or, (p-pc)•(p-pc) – R2 = 0 Say ray is given by p(t) = e + t*d Then (d • d)t2 + 2d•(e - c)t + (e – c)•(e – c) – R2 = 0

Other Quadrics Cylinders, ellipsoids, paraboloids, hyperboloids: all have the property that they are algebraic surfaces of degree 2, aka quadrics The intersection calculation can be done analytically using the quadratic equation

Lighting Calculation So… we know where the ray hits the surface But what does the surface look like? Need to compute lighting at the point of intersection

Local Lighting Calculation Can use 3-term lighting calculation local illumination Raytracing allows us to do global illumination shadows reflected and refracted light

Shadow Rays Decide if a point is in shadow or not based on new ray intersection test Cast ray from intersection point towards light source If intersection found, point is in shadow Otherwise, not in shadow

Raytracing Tree Resolving a ray intersection can result in multiple additional rays Ray intersection Transmitted rays Shadow ray Reflected rays

Reflected Rays Recursive call to raycast: ray’s color is (1-c) times the color computed at the surface, plus c times the color computed by a new ray heading out of the surface in the reflected direction May cast multiple reflected rays at slightly different directions Need to terminate the recursion: maximum depth minimum energy carried by the ray

Accelerating Intersections Majority of work in raytracer in computing intersections Simple-minded method: compute intersections with every object in scene, take smallest parameter Need to speed this up bounding geometry spatial partitioning

Raytracing vs Z-Buffer Initial intersection test is the hard part Z-buffer still supreme But, all kinds of effects with same code transparency, reflection, shadows, caustics in Z-buffer, bizarre stack of methods "Embarrassingly parallel": well suited to GPU from process viewpoint – but, recursion not possible on cards