Ray Tracing 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.

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
3D Graphics Rendering and Terrain Modeling
Ray Tracing & Radiosity Dr. Amy H. Zhang. Outline  Ray tracing  Radiosity.
Light Issues in Computer Graphics Presented by Saleema Amershi.
Based on slides created by Edward Angel
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shading I.
University of New Mexico
Christian Lauterbach COMP 770, 2/11/2009
Chapter 11: Advanced Rendering Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Ray Tracing Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: 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.
Objectives Learn to shade objects so their images appear three- dimensional Learn to shade objects so their images appear three- dimensional Introduce.
Photorealism Reflection, Refraction Bump maps
Ray Tracing Jerry Sui Adam Conner. Part I – Introduction to Ray Tracing Final Product.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
CS 376 Introduction to Computer Graphics 04 / 04 / 2007 Instructor: Michael Eckmann.
CSCE 641: Computer Graphics Ray Tracing Jinxiang Chai.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Shading I Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
CS 480/680 Computer Graphics Shading I Dr. Frederick C Harris, Jr.
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.
Fundamentals of Computer Graphics Part 6 Shading prof.ing.Václav Skala, CSc. University of West Bohemia Plzeň, Czech Republic ©2002 Prepared with Angel,E.:
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
12/05/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling Very brief intro to global illumination.
-Global Illumination Techniques
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Dr. Scott Schaefer Ray Tracing. 2/42 Ray Tracing Provides rendering method with  Refraction/Transparent surfaces  Reflective surfaces  Shadows.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Ray-Tracing ©Anthony Steed Overview n Recursive Ray Tracing n Shadow Feelers n Snell’s Law for Refraction n When to stop!
04/30/02(c) 2002 University of Wisconsin Last Time Subdivision techniques for modeling We are now all done with modeling, the standard hardware pipeline.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Basic Ray Tracing CMSC 435/634.
Ray Tracing. 2 Introduction OpenGL is based on a pipeline model in which primitives are rendered one at time ­No shadows (except by tricks or multiple.
Ray Tracing CSIS 5838: Graphics and Animation for Gaming.
Ray-tracing.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
CS 480/680 Computer Graphics Compositing and Blending Dr. Frederick C Harris, Jr.
1 Ray Tracing Lecture 10 © Jeff Parker, Nov 2009.
CSCE 441: Computer Graphics Ray Tracing
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
CS 445 / 645 Introduction to Computer Graphics Lecture 16 Radiosity Radiosity.
OpenGL Shading. 2 Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build.
RENDERING : Global Illumination
CS 325 Introduction to Computer Graphics 04 / 07 / 2010 Instructor: Michael Eckmann.
Ray Tracing I. Reading Hill, Chapter 14, Sections 14.1 to 14.5 Hill, Chapter 14, Sections and
CS552: Computer Graphics Lecture 33: Illumination and Shading.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
CS552: Computer Graphics Lecture 36: Ray Tracing.
Review Ray Tracing III Review. Pseudo codes RayCast-1  Plain ray caster (direct illumination) RayCast-2  RayCast-1 + shadow rays RayTrace-1  Recursive.
Introduction to Computer Graphics with WebGL
Ray Tracing Ed Angel Professor Emeritus of Computer Science
3D Graphics Rendering PPT By Ricardo Veguilla.
© University of Wisconsin, CS559 Fall 2004
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Advanced Computer Graphics
CSCE 441: Computer Graphics Ray Tracing
GR2 Advanced Computer Graphics AGR
CS 480/680 Computer Graphics Shading.
Computer Graphics Ray tracing
Computer Graphics Ray tracing
Presentation transcript:

Ray Tracing 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009

2 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 Global approaches ­Rendering equation ­Ray tracing ­Radiosity

3 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tracing Follow rays of light from a point source Can account for reflection and transmission

4 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Computation Should be able to handle all physical interactions Ray tracing paradigm is not computational Most rays do not affect what we see Scattering produces many (infinite) additional rays Alternative: ray casting

5 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Casting Only rays that reach the eye matter Reverse direction and cast rays Need at least one ray per pixel

6 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Casting Quadrics Ray casting has become the standard way to visualize quadrics which are implicit surfaces in CSG systems Constructive Solid Geometry ­Primitives are solids ­Build objects with set operations ­Union, intersection, set difference

7 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Casting a Sphere Ray is parametric Sphere is quadric Resulting equation is a scalar quadratic equation which gives entry and exit points of ray (or no solution if ray misses)

8 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shadow Rays Even if a point is visible, it will not be lit unless we can see a light source from that point Cast shadow or feeler rays

9 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Reflection Must follow shadow rays off reflecting or transmitting surfaces Process is recursive

10 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Reflection and Transmission

Refraction Light bends as it moves through different materials ­E.g., moving from air to water ­Different speeds for different materials See: Index of Refraction Snell’s Law Ni * Sin(Ai) = Nr * Sin(Ar) 11 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009

Refraction 12 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009

13 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Trees

14 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tree

15 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Diffuse Surfaces Theoretically the scattering at each point of intersection generates an infinite number of new rays that should be traced In practice, we only trace the transmitted and reflected rays but use the Phong model to compute shade at point of intersection Radiosity works best for perfectly diffuse (Lambertian) surfaces

16 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Building a Ray Tracer Best expressed recursively Can remove recursion later Image based approach ­For each ray ……. Find intersection with closest surface ­Need whole object database available ­Complexity of calculation limits object types Compute lighting at surface Trace reflected and transmitted rays

17 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 When to stop Some light will be absorbed at each intersection ­Track amount left Ignore rays that go off to infinity ­Put large sphere around problem Count steps

18 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Recursive Ray Tracer color c = trace(point p, vector d, int step) { color local, reflected, transmitted; point q; normal n; if(step > max) return(background_color);

19 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Recursive Ray Tracer q = intersect(p, d, status); if(status==light_source) return(light_source_color); if(status==no_intersection) return(background_color); n = normal(q); r = reflect(q, n); t = transmit(q,n);

20 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Recursive Ray Tracer local = phong(q, n, r); reflected = trace(q, r, step+1); transmitted = trace(q,t, step+1); return(local+reflected+ transmitted);

21 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Computing Intersections Implicit Objects ­Quadrics Planes Polyhedra Parametric Surfaces

22 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Implicit Surfaces Ray from p 0 in direction d p(t) = p 0 +t d General implicit surface f(p) = 0 Solve scalar equation f(p(t)) = 0 General case requires numerical methods

23 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Quadrics General quadric can be written as p T Ap + b T p +c = 0 Substitute equation of ray p(t) = p 0 +t d to get quadratic equation

24 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Sphere (p – p c ) (p – p c ) – r 2 = 0 p(t) = p 0 +t d p 0 p 0 t p 0 (d – p 0 ) t + (d – p 0 ) (d – p 0 ) – r 2 = 0

25 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Planes p n + c = 0 p(t) = p 0 +t d t = -(p 0 n + c)/ d n

26 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Polyhedra Generally we want to intersect with closed objects such as polygons and polyhedra rather than planes Hence we have to worry about inside/outside testing For convex objects such as polyhedra there are some fast tests

27 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tracing Polyhedra If ray enters an object, it must enter a front facing polygon and leave a back facing polygon Polyhedron is formed by intersection of planes Ray enters at furthest intersection with front facing planes Ray leaves at closest intersection with back facing planes If entry is further away than exit, ray must miss the polyhedron

28 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tracing Polyhedra

29 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tracing a Polygon

30 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Ray Tracing a Polygon

Free Raytracer POV-Ray ( 31 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009