illumination lighting and shading model l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Illumination, Lighting and Shading Model PowerPoint Presentation
Download Presentation
Illumination, Lighting and Shading Model

Loading in 2 Seconds...

play fullscreen
1 / 38

Illumination, Lighting and Shading Model - PowerPoint PPT Presentation


  • 340 Views
  • Uploaded on

Illumination, Lighting and Shading Model Pradondet Nilagupta Dept. of Computer Engineering Kasetsart University Definitions (1/2) Illumination : the transport of energy (in particular, the luminous flux of visible light) from light sources to surfaces & points

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Illumination, Lighting and Shading Model' - Ava


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
illumination lighting and shading model

Illumination, Lighting and Shading Model

Pradondet Nilagupta

Dept. of Computer Engineering

Kasetsart University

204481 Foundation of Computer Graphics

definitions 1 2
Definitions (1/2)
  • Illumination: the transport of energy (in particular, the luminous flux of visible light) from light sources to surfaces & points
    • Note: includes directand indirect illumination
  • Lighting: the process of computing the luminous intensity (i.e., outgoing light) at a particular 3-D point, usually on a surface
  • Shading: the process of assigning colors to pixels

204481 Foundation of Computer Graphics

definitions 2 2
Definitions (2/2)
  • Illumination models fall into two categories:
    • Empirical: simple formulations that approximate observed phenomenon
    • Physically-based: models based on the actual physics of light interacting with matter
  • We mostly use empirical models in interactive graphics for simplicity
  • Increasingly, realistic graphics are using physically-based models

204481 Foundation of Computer Graphics

lighting model
Lighting Model
  • Many different models exist for simulating lighting reflections
  • Most models break lighting into constituent parts
    • ambient reflections
    • diffuse reflections
    • specular highlights

204481 Foundation of Computer Graphics

lighting model component
Lighting Model Component
  • Material Properties
    • used to describe an objects reflected colors
  • Surface Normals
  • Light Properties
    • used to describe a lights color emissions
  • Light Model Properties
    • “global” lighting parameters

204481 Foundation of Computer Graphics

components of illumination
Components of Illumination
  • Surface properties
    • Reflectance spectrum (i.e., color of the surface)
    • Geometric attributes
      • Position
      • Orientation
      • Micro-structure
  • Light sources (or emitters)
    • Spectrum of emittance (i.e, color of the light)
    • Geometric attributes
      • Position
      • Direction
      • Shape
    • Directional attenuation

204481 Foundation of Computer Graphics

ambient light sources
Ambient Light Sources
  • Objects not directly lit are typically still visible
    • E.g., the ceiling in this room, undersides of desks
  • This is the result of indirect illumination from emitters, bouncing off intermediate surfaces
  • Too expensive to calculate (in real time)

Ireflected = kambient Iambient

204481 Foundation of Computer Graphics

directional light sources
Directional Light Sources
  • all rays of light from the source are parallel
    • As if the source is infinitely far away from the surfaces in the scene
    • A good approximation to sunlight
  • direction is constant for all surfaces in the scene

204481 Foundation of Computer Graphics

point light sources
Point Light Sources
  • A point light source emits light equally in all directions from a single point
  • The direction to the light from a point on a surface thus differs for different points:

204481 Foundation of Computer Graphics

other light sources
Other Light Sources
  • Spotlights are point sources whose intensity falls off directionally.
    • Supported by OpenGL
  • Area light sources define a 2-D emissive surface (usually a disc or polygon)
    • Good example: fluorescent light panels

204481 Foundation of Computer Graphics

reflection
Reflection
  • Ambient Reflections
  • Diffuse Reflection
  • Specular Reflections

204481 Foundation of Computer Graphics

ambient reflections
Ambient Reflections
  • Color of an object when not directly illuminated
  • Think about walking into a room with the curtains closed and lights off

204481 Foundation of Computer Graphics

diffuse reflections

l

n

Diffuse Reflections
  • Color of an object when directly illuminated
    • often referred to as base color
  • The angle between the surface normal and the incoming light is the angle of incidence:

Idiffuse = kd Ilightcos 

  • In practice we use vector arithmetic:

Idiffuse = kd Ilight(n • l)

204481 Foundation of Computer Graphics

specular reflections
Specular Reflections
  • Shiny surfaces exhibit specular reflection
    • Polished metal
    • Glossy car finish
  • A light shining on a specular surface causes a bright spot known as a specular highlight

204481 Foundation of Computer Graphics

phong lighting model
Phong Lighting Model
  • Using surface normal
  • OpenGL’s lighting model based on Phong’s

204481 Foundation of Computer Graphics

opengl material properties
OpenGL Material Properties
  • GL_AMBIENT
  • GL_DIFFUSE
  • GL_SPECULAR
  • GL_SHININESS
  • GL_EMISSION

204481 Foundation of Computer Graphics

computing surface normals
Computing Surface Normals
  • Lighting needs to know how to reflect light off the surface
  • Provide normals per
    • face - flat shading
    • vertex - Gouraud shading
    • pixel - Phong shading
      • OpenGL does not support Phong natively

204481 Foundation of Computer Graphics

face normals
Face Normals
  • Same normal for all vertices in a primitive
    • results in flat shading for primitive

glNormal3f( nx, ny, nz );

glBegin( GL_TRIANGLES );

glVertex3fv( v1 );

glVetrex3fv( v2 );

glVertex3fv( v3 );

glEnd();

204481 Foundation of Computer Graphics

computing face normals polygons
Computing Face Normals ( Polygons )
  • We’re using only planar polygons
  • Can easily compute the normal to a plane
    • use a cross product

204481 Foundation of Computer Graphics

computing face normals algebraic
Computing Face Normals ( Algebraic )
  • For algebraic surfaces, compute
    • where

204481 Foundation of Computer Graphics

vertex normals
Vertex Normals
  • Each vertex has its own normal
    • primitive is Gouraud shaded basedon computed colors

glBegin( GL_TRIANGLES );

glNormal3fv( n1 );

glVertex3fv( v1 );

glNormal3fv( n2 );

glVetrex3fv( v2 );

glNormal3fv( n3 );

glVertex3fv( v3 );

glEnd();

204481 Foundation of Computer Graphics

computing vertex normals algebraic
Computing Vertex Normals (Algebraic )
  • For algebraic surfaces, compute

204481 Foundation of Computer Graphics

computing vertex normals polygons
Computing Vertex Normals ( Polygons )
  • Need two things
    • face normals for all polygons
    • know which polygons share a vertex

204481 Foundation of Computer Graphics

sending normals to opengl
Sending Normals to OpenGL

glNormal3f( x, y, z );

  • Use between glBegin() / glEnd()
  • Use similar to glColor*()

204481 Foundation of Computer Graphics

normals and scale transforms
Normals and Scale Transforms
  • Normals must be normalized
    • non-unit length skews colors
  • Scales affect normal length
    • rotates and translates do not

glEnable( GL_NORMALIZE );

204481 Foundation of Computer Graphics

slide26
Why?
  • Lighting computations are really done in eye coordinates
    • this is why there are the projection and modelview matrix stacks
  • Lighting normals transformed by the inverse transpose of the ModelView matrix

204481 Foundation of Computer Graphics

applying illumination
Applying Illumination
  • With polygonal/triangular models:
    • Each facet has a constant surface normal
    • If the light is directional, the diffuse reflectance is constant across the facet
    • If the eyepoint is infinitely far away (constant V), the specular reflectance of a directional light is constant across the facet

204481 Foundation of Computer Graphics

flat shading
Flat Shading
  • The simplest approach, flat shading, calculates illumination at a single point for each polygon:
  • If an object really is faceted, is this accurate?
  • No:
    • For point sources, the direction to light varies across the facet
    • For specular reflectance, direction to eye varies across the facet

204481 Foundation of Computer Graphics

flat shading29
Flat Shading
  • We can refine it a bit by evaluating the Phong lighting model at each pixel of each polygon, but the result is still clearly faceted:
  • To get smoother-looking surfaceswe introduce vertex normals at eachvertex
    • Usually different from facet normal
    • Used onlyfor shading (as opposed to what?)
    • Think of as a better approximation of the real surface that the polygons approximate (draw it)

204481 Foundation of Computer Graphics

vertex normals30
Vertex Normals
  • Vertex normals may be
    • Provided with the model
    • Computed from first principles
    • Approximated by averaging the normals of the facets that share the vertex

204481 Foundation of Computer Graphics

gouraud shading
Gouraud Shading
  • This is the most common approach
    • Perform Phong lighting at the vertices
    • Linearly interpolate the resulting colors over faces
    • This is what OpenGL does
  • Demo at http://www.cs.virginia.edu/~cs551/vrml/tpot.wrl
  • Does this eliminate the facets?

204481 Foundation of Computer Graphics

phong shading
Phong Shading
  • Phong shading is not the same as Phong lighting, though they are sometimes mixed up
    • Phong lighting: the empirical model we’ve been discussing to calculate illumination at a point on a surface
    • Phong shading: linearly interpolating the surface normal across the facet, applying the Phong lighting model at every pixel
      • Same input as Gouraud shading
      • Usually very smooth-looking results:
      • But, considerably more expensive

204481 Foundation of Computer Graphics

texture mapping motivation
Texture Mapping: Motivation
  • Scenes created with diffuse lighting look convincingly three-dimensional, but are flat, chalky, and “cartoonish”
  • Phong lighting lets us simulate materials like plastic and (to a lesser extent) metal, but scenes still seem very cartoonish and unreal
  • Big problem: polygons are too coarse-grained to usefully model fine surface detail
  • Solution: texture mapping

204481 Foundation of Computer Graphics

texture mapping motivation34
Texture Mapping: Motivation
  • Adding surface detail helps keep CG images from looking simple and sterile
  • Explicitly modeling this detail in geometry can be very expensive
    • Zebra stripes, wood grain, writing on a whiteboard
  • Texture mapping pastes images onto the surfaces in the scene, adding realistic fine detail without exploding the geometry

204481 Foundation of Computer Graphics

texture mapping examples
Texture Mapping: Examples

204481 Foundation of Computer Graphics

texture mapping fundamentals
Texture Mapping: Fundamentals
  • A texture is typically a 2-D image
    • Image elements are called texels
    • Value stored at a texel affects surface appearance in some way
      • Example: diffuse reflectance, shininess, transparency…
    • The mapping of the texture to the surface determines the correspondence, i.e., how the texture lies on the surface
      • Mapping a texture to a triangle is easy (why?)
      • Mapping a texture to an arbitrary 3-D shape is more complicated (why?)

204481 Foundation of Computer Graphics

texture mapping rendering
Texture Mapping: Rendering
  • Rendering uses the mapping:
    • Find the visible surface at a pixel
    • Find the point on that surface corresponding to that pixel
    • Find the point in the texture corresponding to that point on the surface
    • Use the parameters associated with that point on the texture to shade the pixel

204481 Foundation of Computer Graphics

texture mapping basics
Texture Mapping: Basics
  • We typically parameterize the texture as a function in (u, v)
    • For simplicity, normalize u & v to [0, 1]
  • Associate each triangle with a texture
  • Give each vertex of the triangle a texture coordinate (u, v)
  • For other points on the triangle, interpolate texture coordinate from the vertices
    • Much like interpolating color or depth
    • But there’s a catch...

204481 Foundation of Computer Graphics