Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1

Slides:



Advertisements
Similar presentations
Computer Graphics - Shading -
Advertisements

Computer Graphics (Fall 2008) COMS 4160, Lecture 18: Illumination and Shading 1
Virtual Realism LIGHTING AND SHADING. Lighting & Shading Approximate physical reality Ray tracing: Follow light rays through a scene Accurate, but expensive.
Based on slides created by Edward Angel
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shading I.
Computer Graphics - Class 10
Rendering (彩現 渲染).
IMGD 1001: Illumination by Mark Claypool
Advanced Computer Graphics (Fall 2009) CS , Lecture 1: Introduction and History Ravi Ramamoorthi Some.
Lighting and Shading Wen-Chieh (Steve) Lin
Computer Graphics (Fall 2008) COMS 4160, Lecture 1: Overview and History Ravi Ramamoorthi
History of computer graphics CS Introduction to Computer Graphics Autumn quarter, 2000 Slides for September 28 lecture.
(conventional Cartesian reference system)
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 18: Shading & Texture Mapping Many slides from Greg.
 Marc Levoy History of computer graphics CS Introduction to Computer Graphics Autumn quarter, 2004 Slides for September 28 lecture.
Computer Graphics (Spring 2008) COMS 4160, Lecture 15: Illumination and Shading
1 CSCE 641: Computer Graphics Lighting Jinxiang Chai.
 Marc Levoy History of computer graphics CS Introduction to Computer Graphics Autumn quarter, 2006 Slides for September 26 lecture.
Computer Graphics (Fall 2004) COMS 4160, Lecture 1: Overview and History Ravi Ramamoorthi
7M836 Animation & Rendering
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 1: Introduction and History Ravi Ramamoorthi
Objectives Learn to shade objects so their images appear three- dimensional Learn to shade objects so their images appear three- dimensional Introduce.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 1: Overview Ravi Ramamoorthi
Computer Graphics (Spring 2008) COMS 4160, Lecture 1: Overview and History Ravi Ramamoorthi
 Marc Levoy History of computer graphics CS Introduction to Computer Graphics Autumn quarter, 2003 Slides for September 25 lecture.
Computer Graphics (Fall 2004) COMS 4160, Lecture 16: Illumination and Shading 2 Lecture includes number of slides from.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
 Marc Levoy Choosing the right course CS 148 Winter, Hanrahan, not SCPD undergraduates only requires 107 terminal course broad and conceptual CS.
Coordinate Systems X Y Z (conventional Cartesian reference system) X Y Z.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Shading Week 5, Wed 1 Oct 2003 recap: lighting shading.
 Marc Levoy History of computer graphics CS Introduction to Computer Graphics Autumn quarter, 2001 Slides for September 27 lecture.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Shading I Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 1: Overview and History Ravi Ramamoorthi
Lighting & Shading.
CS 480/680 Computer Graphics Shading I Dr. Frederick C Harris, Jr.
SET09115 Intro Graphics Programming
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.:
Shading (introduction to rendering). Rendering  We know how to specify the geometry but how is the color calculated.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Taku KomuraComputer Graphics Local Illumination and Shading Computer Graphics – Lecture 10 Taku Komura Institute for Perception, Action.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Basic Rendering Pipeline and Shading Spring 2012.
Computing & Information Sciences Kansas State University CIS 536/636 Introduction to Computer Graphics Lecture 9 of 41 William H. Hsu Department of Computing.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Komputer Grafik 2 (AK045206) Shading 1/17 Realisme : Shading.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
CS 445 / 645 Introduction to Computer Graphics Lecture 15 Shading Shading.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Lecture Fall 2001 Illumination and Shading in OpenGL Light Sources Empirical Illumination Shading Transforming Normals Tong-Yee Lee.
Specular Reflection Lecture 27 Mon, Nov 10, 2003.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
Local Illumination and Shading
Cornell CS465 Spring 2004 Lecture 4© 2004 Steve Marschner 1 Shading CS 465 Lecture 4.
Illumination and Shading Prof. Lizhuang Ma Shanghai Jiao Tong University.
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
OpenGL Shading. 2 Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build.
Lighting and Reflection Angel Angel: Interactive Computer Graphics5E © Addison-Wesley
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
David Luebke3/16/2016 CS 551 / 645: Introductory Computer Graphics David Luebke
Illumination Models. Introduction 1 Illumination model: Given a point on a surface, what is the perceived color and intensity? Known as Lighting Model,
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
Computer Graphics Ken-Yi Lee National Taiwan University (the slides are adapted from Bing-Yi Chen and Yung-Yu Chuang)
Computer Graphics (Fall 2004) COMS 4160, Lecture 25: Summary and Preview
Computer Graphics (Fall 2006) COMS 4160, Lecture 16: Illumination and Shading 1
Illumination and Shading Prof. Lizhuang Ma Shanghai Jiao Tong University.
Illumination and Shading
Computer Graphics (Fall 2003)
Lighting Calculations
Presentation transcript:

Computer Graphics (Fall 2005) COMS 4160, Lecture 16: Illumination and Shading 1

To Do  Work on HW 3, do well  Start early on HW 4  Discussion of midterm  But remember HW 3, HW 4 more important

Course Outline  3D Graphics Pipeline Rendering (Creating, shading images from geometry, lighting, materials) Modeling (Creating 3D Geometry)

Course Outline  3D Graphics Pipeline Rendering (Creating, shading images from geometry, lighting, materials) Modeling (Creating 3D Geometry) Unit 1: Transformations Weeks 1,2. Ass 1 due Sep 22 Unit 2: Spline Curves Weeks 3,4. Ass 2 due Oct 7 Unit 3: OpenGL Weeks 5-7. Ass 3 due Nov 10 Midterm on units 1-3: Oct 26 Unit 4: Lighting, Shading Weeks 8,9. Written Ass 1 due Nov 16 Ass 4: Interactive 3D Video Game (final project) due Dec 13

Rendering: 1960s (visibility)  Roberts (1963), Appel (1967) - hidden-line algorithms  Warnock (1969), Watkins (1970) - hidden-surface  Sutherland (1974) - visibility = sorting Images from FvDFH, Pixar’s Shutterbug Slide ideas for history of Rendering courtesy Marc Levoy

1970s - raster graphics  Gouraud (1971) - diffuse lighting, Phong (1974) - specular lighting  Blinn (1974) - curved surfaces, texture  Catmull (1974) - Z-buffer hidden-surface algorithm Rendering: 1970s (lighting)

Rendering (1980s, 90s: Global Illumination) early 1980s - global illumination  Whitted (1980) - ray tracing  Goral, Torrance et al. (1984) radiosity  Kajiya (1986) - the rendering equation

Outline  Preliminaries  Basic diffuse and Phong shading  Gouraud, Phong interpolation, smooth shading  Formal reflection equation (next lecture)  Texture mapping (in one week)  Global illumination (next unit) For today’s lecture, slides and chapter 9 in textbook

Motivation  Objects not flat color, perceive shape with appearance  Materials interact with lighting  Compute correct shading pattern based on lighting  This is not the same as shadows (separate topic)  Some of today’s lecture review of last OpenGL lec.  Idea is to discuss illumination, shading independ. OpenGL  Today, initial hacks ( )  Next lecture: formal notation and physics

Linear Relationship of Light  Light energy is simply sum of all contributions  Terms can be calculated separately and later added together:  multiple light sources  multiple interactions (diffuse, specular, more later)  multiple colors (R-G-B, or per wavelength)

General Considerations Surfaces are described as having a position, and a normal at every point. Other vectors used  L = vector to the light source light position minus surface point position  E = vector to the viewer (eye) viewer position minus surface point position (x 1,y 1,z 1 ) N1N1 (x 2,y 2,z 2 ) N2N2

Diffuse Lambertian Term  Rough matte (technically Lambertian) surfaces  Not shiny: matte paint, unfinished wood, paper, …  Light reflects equally in all directions  Obey Lambert’s cosine law  Not exactly obeyed by real materials N -L

Meaning of negative dot products  If (N dot L) is negative, then the light is behind the surface, and cannot illuminate it.  If (N dot E) is negative, then the viewer is looking at the underside of the surface and cannot see it’s front-face.  In both cases, I is clamped to Zero.

Phong Illumination Model  Specular or glossy materials: highlights  Polished floors, glossy paint, whiteboards  For plastics highlight is color of light source (not object)  For metals, highlight depends on surface color  Really, (blurred) reflections of light source Roughness

Idea of Phong Illumination  Find a simple way to create highlights that are view- dependent and happen at about the right place  Not physically based  Use dot product (cosine) of eye and reflection of light direction about surface normal  Alternatively, dot product of half angle and normal  Raise cosine lobe to some power to control sharpness or roughness

Phong Formula -L R E

Alternative: Half-Angle (Blinn-Phong)  In practice, both diffuse and specular components for most materials H N

Outline  Preliminaries  Basic diffuse and Phong shading  Gouraud, Phong interpolation, smooth shading  Formal reflection equation (next lecture)  Texture mapping (in one week)  Global illumination (next unit) Not in text. If interested, look at FvDFH pp

Triangle Meshes as Approximations  Most geometric models are large collections of triangles.  Triangles have 3 vertices, each with a position, color, normal, and other parameters (such as n for Phong reflection).  The triangles are an approximation to the actual surface of the object.

Coloring Between the Lines  We know how to calculate the light intensity given:  surface position  normal  viewer position  light source position (or direction)  How do we shade a triangle between it’s vertices, where we aren’t given the normal?

Flat vs. Gouraud Shading Flat - Determine that each face has a single normal, and color the entire face a single value, based on that normal. Gouraud – Determine the color at each vertex, using the normal at that vertex, and interpolate linearly for the pixels between the vertex locations. glShadeModel(GL_FLAT)glShadeModel(GL_SMOOTH)

Gouraud Shading – Details 1  Inter-vertex interpolation can be done in object space (along the face), but it is simpler to do it in image space (along the screen).  2 ways for a vertex to get its normal:  given when the vertex is defined.  take all the normals from faces that share the vertex, and average them.

Gouraud Shading – Details 2 Scan line Actual implementation efficient: difference equations while scan converting

Gouraud and Errors  I 1 = 0 because (N dot E) is negative.  I 2 = 0 because (N dot L) is negative.  Any interpolation of I 1 and I 2 will be 0. I 1 = 0I 2 = 0 area of desired highlight

2 Phongs make a Highlight  Besides the Phong Reflectance model (cos n ), there is a Phong Shading model.  Phong Shading: Instead of interpolating the intensities between vertices, interpolate the normals.  The entire lighting calculation is performed for each pixel, based on the interpolated normal. (OpenGL doesn’t do this, but you can with current programmable shaders) I 1 = 0I 2 = 0

Problems with Interpolated Shading  Silhouettes are still polygonal  Interpolation in screen, not object space: perspective distortion  Not rotation or orientation-independent  How to compute vertex normals for sharply curving surfaces?  But at end of day, polygons is much easier than explicitly representing curved objects like spline patches for rendering