Chapter 11: Advanced Rendering Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 1 Mohan Sridharan Based on Slides.

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
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Shading II CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Ray Tracing Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of.
Ray Casting Ray-Surface Intersections Barycentric Coordinates Reflection and Transmission [Shirley, Ch.9] Ray Tracing Handouts Ray Casting Ray-Surface.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
Objectives Learn to shade objects so their images appear three- dimensional Learn to shade objects so their images appear three- dimensional Introduce.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
Ray Tracing 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
Chapter 10: Curves and Surfaces Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
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.
Cornell CS465 Fall 2004 Lecture 3© 2004 Steve Marschner 1 Ray Tracing CS 465 Lecture 3.
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
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 10/24/ :01 UML Graphics II Shadows Session 4.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Graphics Lecture 13: Slide 1 Interactive Computer Graphics Lecture 13: Radiosity - Principles.
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
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.
Introduction to Computer Graphics with WebGL
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.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
Constructive Solid Geometry Ray Tracing CSG Models
1 Ray Tracing Lecture 10 © Jeff Parker, Nov 2009.
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
Illumination and Shading Prof. Lizhuang Ma Shanghai Jiao Tong University.
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
Chapter 1 Graphics Systems and Models Models and Architectures.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Ray Tracing I. Reading Hill, Chapter 14, Sections 14.1 to 14.5 Hill, Chapter 14, Sections and
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Computer Graphics: Illumination
Introduction to Computer Graphics with WebGL
Ray Tracing Ed Angel Professor Emeritus of Computer Science
3D Graphics Rendering PPT By Ricardo Veguilla.
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Isaac Gang University of Mary Hardin-Baylor
Introduction to Computer Graphics with WebGL
Illumination and Shading
Advanced Computer Graphics
GR2 Advanced Computer Graphics AGR
CS 480/680 Computer Graphics Shading.
Presentation transcript:

Chapter 11: Advanced Rendering Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides by Edward Angel and Dave Shreiner

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Tracing Follow rays of light from a point source. Can account for reflection and transmission. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Computation Should be able to handle all physical interactions. Most rays do not affect what we see. However, scattering produces many (infinite) additional rays. Ray tracing paradigm is not computationally efficient. Alternative: ray casting. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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

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

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). E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Reflection Follow shadow rays off reflecting or transmitting surfaces. Process is recursive. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Reflection and Transmission E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Trees E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Tree E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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); 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); E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Recursive Ray Tracer local = phong(q, n, r); reflected = trace(q, r, step+1); transmitted = trace(q,t, step+1); return(local+ reflected+ transmitted); } E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Computing Intersections Implicit Objects: – Quadrics. Planes. Polyhedra. Parametric Surfaces. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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! E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Sphere and Plane (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 p n + c = 0 p(t) = p 0 +t d t = -(p 0 n + c)/ d n E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

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 misses the polyhedron. E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Tracing Polyhedra E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Tracing a Polygon E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley

Ray Tracing a Polygon E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley