Objectives Learn to shade objects so their images appear three- dimensional Learn to shade objects so their images appear three- dimensional Introduce the types of light-material interactions Introduce the types of light-material interactions Build a simple reflection model---the Phong model- -- that can be used with real time graphics hardware Build a simple reflection model---the Phong model- -- that can be used with real time graphics hardware CSC461: Lecture 22 Lighting and Shading
Why we need shading Suppose we build a model of a sphere using many polygons and color it with glColor. We get something like Suppose we build a model of a sphere using many polygons and color it with glColor. We get something like But we want But we want
Shading Why does the image of a real sphere look like Why does the image of a real sphere look like Light-material interactions cause each point to have a different color or shade Light-material interactions cause each point to have a different color or shade Need to consider Need to consider Light sources Light sources Material properties Material properties Location of viewer Location of viewer Surface orientation Surface orientation
Scattering Light strikes A Light strikes A Some scattered Some scattered Some absorbed Some absorbed Some of scattered light strikes B Some of scattered light strikes B Some scattered Some scattered Some absorbed Some absorbed Some of this scatterd Some of this scatterd light strikes A and so on
Rendering Equation The infinite scattering and absorption of light can be described by the rendering equation The infinite scattering and absorption of light can be described by the rendering equation Cannot be solved in general Cannot be solved in general Ray tracing is a special case for perfectly reflecting surfaces Ray tracing is a special case for perfectly reflecting surfaces Rendering equation is global and includes Rendering equation is global and includes Shadows Shadows Multiple scattering from object to object Multiple scattering from object to object
Global Effects translucent surface shadow multiple reflection
Color Sources RGB model is used RGB model is used Light is simulated with the color model Light is simulated with the color model Three component intensity or luminance function Three component intensity or luminance function Each component of a light source can be independently calculated Each component of a light source can be independently calculated
Local vs Global Rendering Correct shading requires a global calculation involving all objects and light sources Correct shading requires a global calculation involving all objects and light sources Incompatible with pipeline model which shades each polygon independently (local rendering) Incompatible with pipeline model which shades each polygon independently (local rendering) However, in computer graphics, especially real time graphics, we are happy if things “look right” However, in computer graphics, especially real time graphics, we are happy if things “look right” Exist many techniques for approximating global effects Exist many techniques for approximating global effects
Light-Material Interaction Light that strikes an object is partially absorbed and partially scattered (reflected) Light that strikes an object is partially absorbed and partially scattered (reflected) The amount reflected determines the color and brightness of the object The amount reflected determines the color and brightness of the object A surface appears red under white light because the red component of the light is reflected and the rest is absorbed A surface appears red under white light because the red component of the light is reflected and the rest is absorbed The reflected light is scattered in a manner that depends on the smoothness and orientation of the surface The reflected light is scattered in a manner that depends on the smoothness and orientation of the surface
Light Sources General light sources are difficult to work with because we must integrate light coming from all points on the source
Simple Light Sources Point source Point source Model with position and color Model with position and color Distant source = infinite distance away (parallel) Distant source = infinite distance away (parallel) Spotlight Spotlight Restrict light from ideal point source Restrict light from ideal point source Ambient light Ambient light Same amount of light everywhere in scene Same amount of light everywhere in scene Can model contribution of many sources and reflecting surfaces Can model contribution of many sources and reflecting surfaces
Surface Types The smoother the surface, the more the reflected light resembles a mirror The smoother the surface, the more the reflected light resembles a mirror A very rough surface scatters light in all directions A very rough surface scatters light in all directions smooth surface rough surface
Phong Model A simple model that can be computed rapidly A simple model that can be computed rapidly The light source model has three terms The light source model has three terms Diffuse Diffuse Specular Specular Ambient Ambient Uses four vectors at the point p Uses four vectors at the point p l: to light source l: to light source v: to viewer v: to viewer n: Normal n: Normal r: Perfect reflector r: Perfect reflector
Light Sources In the Phong Model, we add the results from each light source In the Phong Model, we add the results from each light source Each light source has separate diffuse, specular, and ambient terms to allow for maximum flexibility even though this form does not have a physical justification Each light source has separate diffuse, specular, and ambient terms to allow for maximum flexibility even though this form does not have a physical justification Separate red, green and blue components for each term Separate red, green and blue components for each term Hence, 9 coefficients for each point source – illumination matrix Hence, 9 coefficients for each point source – illumination matrix Diffuse -- I dr, I dg, I db Diffuse -- I dr, I dg, I db Specular -- I sr, I sg, I sb Specular -- I sr, I sg, I sb Ambient -- I ar, I ag, I ab Ambient -- I ar, I ag, I ab
Material Properties Material properties match light source properties Material properties match light source properties Nine absorption coefficients – reflection matrix Nine absorption coefficients – reflection matrix Diffuse -- k dr, k dg, k db Diffuse -- k dr, k dg, k db Specular -- k sr, k sg, k sb Specular -- k sr, k sg, k sb Ambient -- k ar, k ag, k ab Ambient -- k ar, k ag, k ab Shininess coefficient Shininess coefficient
Adding up the Components For each light source and each color component, the Phong model can be written (without the distance terms) as For each light source and each color component, the Phong model can be written (without the distance terms) as I =k d I d l · n + k s I s ( v · r ) + k a I a I =k d I d l · n + k s I s ( v · r ) + k a I a For each color component we add contributions from all sources For each color component we add contributions from all sources
Examples Only differences in these teapots are the parameters in the Phong model
Ambient Reflection Ambient light is the result of multiple interactions between (large) light sources and the objects in the environment Ambient light is the result of multiple interactions between (large) light sources and the objects in the environment Amount and color depend on both the color of the light(s) and the material properties of the object Amount and color depend on both the color of the light(s) and the material properties of the object All points have the same light intensity All points have the same light intensity Ambient effect k a I a for all points Ambient effect k a I a for all points reflection coefficientintensity of ambient light
Diffuse Reflection -- Lambertian Surface Perfectly diffuse reflector -- Light scattered equally in all directions Perfectly diffuse reflector -- Light scattered equally in all directions Characterized by rough surfaces Characterized by rough surfaces Lambertian surface – no preferred reflection angle Lambertian surface – no preferred reflection angle Modeled with Lambert’s law: Amount of light reflected is proportional to the vertical component of incoming light Modeled with Lambert’s law: Amount of light reflected is proportional to the vertical component of incoming light reflected light ~cos i reflected light ~cos i cos i = l · n if vectors normalized cos i = l · n if vectors normalized There are also three coefficients, k r, k b, k g that show how much of each color component is reflected There are also three coefficients, k r, k b, k g that show how much of each color component is reflected Diffuse effect: k d I d l · n Diffuse effect: k d I d l · n
Specular Surfaces Most surfaces are neither ideal diffusers nor perfectly specular Most surfaces are neither ideal diffusers nor perfectly specular Smooth surfaces show specular highlights due to incoming light being reflected in directions concentrated close to the direction of a perfect reflection or a mirror Smooth surfaces show specular highlights due to incoming light being reflected in directions concentrated close to the direction of a perfect reflection or a mirror specular highlight
Modeling Specular Relections Phong proposed an approximate model: add a term to the calculation of diffuse reflection Phong proposed an approximate model: add a term to the calculation of diffuse reflection The term drops off as the angle between the viewer (v) and the ideal reflection (r) increases The term drops off as the angle between the viewer (v) and the ideal reflection (r) increases I r ~ k s I s cos k s I s (r·v) α shininess coef absorption coef incoming intensity reflected intensity
The Shininess Coefficient Values of between 100 and 500 correspond to metals Values of between 100 and 500 correspond to metals Values between 5 and 10 give surface that look like plastic Values between 5 and 10 give surface that look like plastic As increases, the reflected light concentrates in a narrower region As increases, the reflected light concentrates in a narrower region As goes to infinity, get a mirror As goes to infinity, get a mirror cos
Distance Terms The light from a point source that reaches a surface is inversely proportional to the square of the distance between them The light from a point source that reaches a surface is inversely proportional to the square of the distance between them We can add a factor of the We can add a factor of the form 1/(a + bd +cd 2 ) to form 1/(a + bd +cd 2 ) to the diffuse and specular the diffuse and specular terms terms The constant and linear terms soften the effect of the point source The constant and linear terms soften the effect of the point source