computer graphics fall 2009 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Computer Graphics (fall 2009) PowerPoint Presentation
Download Presentation
Computer Graphics (fall 2009)

Loading in 2 Seconds...

play fullscreen
1 / 43

Computer Graphics (fall 2009) - PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on

Computer Graphics (fall 2009). School of Computer Science University of Seoul. Chap 6: Shading. Light and Matter Light Sources The Phong Reflection Model Computation of Vectors Polygonal Shading Approximation of a Sphere by Recursive Subdivision Light Sources in OpenGL

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 'Computer Graphics (fall 2009)' - vidal


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
computer graphics fall 2009

Computer Graphics(fall 2009)

School of Computer Science

University of Seoul

chap 6 shading
Chap 6: Shading
  • Light and Matter
  • Light Sources
  • The Phong Reflection Model
  • Computation of Vectors
  • Polygonal Shading
  • Approximation of a Sphere by Recursive Subdivision
  • Light Sources in OpenGL
  • Specification of Materials in OpenGL
  • Shading of the Sphere Model
  • Global Illumination
rendering methods
Rendering Methods
  • Rendering equation [Kaj86]
    • Integral eq. resulted by recursive scattering
    • Physics-based, slow to compute
  • Radiosity, raytracing (Ch.12) and photon mapping
    • Approximation of rendering equation for particular surfaces
    • Still slow
  • Phong reflection model
    • Fast!
rendering equation
Rendering Equation
  • Proposed in “The rendering equation” (by James Kajiya, 1986)
  • Based on “conservation of energy”
radiosity
Radiosity
  • FEM (Finite Element Method) applied to solve the rendering equation
  • For scenes with diffuse surfaces
radiosity cont d
Radiosity (cont’d)
  • Supported by 3D Max, EIAS, etc.

(image courtesy of David Stoddard, EIAS)

(image courtesy of JCM animation, EIAS)

raytracing
Raytracing
  • Rendering by tracing rays for each pixel from the viewer (camera)
  • Suitable for reflective surfaces

(image courtesy of Wikipedia)

raytracing cont d
Raytracing (cont’d)
  • Supported by POV-Ray, YafaRay, etc.

(“Glasses” by Gilles Tran, POV-Ray)

(“Nikon” by Bert Buchholz, YafaRay)

photon mapping
Photon Mapping
  • Rays from the light source & camera are traced independently

Image courtesy of Wikipedia)

light surface interaction
Light-Surface Interaction
  • Reflected, absorbed and transmitted
  • Depends on
    • opaqueness
    • wavelength- “Why does an object look red?”
    • roughness - “Why does an object look shiny?”
    • Orientation
    • etc.
surface types
Surface Types
  • Specular surfaces
  • Diffuse surfaces
  • Translucent surfaces
general light source model
General Light Source Model
  • Can be modeled by an illumination function I(x,y,z,,,)
  • Each frequency consideredindependently
  • Total contribution can becomputed by integration
  • Directional properties canvary with frequency
  • Too complicated to compute
simplified light sources
Simplified Light Sources
  • Four types: ambient lighting, point sources, spotlights, and distant lights
  • Light sources with three components, RGB- based on “three-color theory”
  • Each component calculated independently
  • Intensity or luminance:
type 1 ambient light
Type #1: Ambient Light
  • Models uniform illumination
  • Simplified as an intensity that is identical at every point in the scene:
type 2 point sources
Type #2: Point Sources
  • Located at p0:
  • Intensity received at p:
  • High contrast than surface light
  • Can be made soft bythe distance term:
type 3 spotlights
Type #3: Spotlights
  • Cone-shaped directional range
  • Distribution of the light within the cone usually defined by
type 4 distant light sources
Type #4: Distant Light Sources
  • Rays can be assumed parallel
  • Direction instead of location:
phong reflection model
Phong Reflection Model
  • Introduced by Phong
  • Four vectors used
  • Three types of material-light interactions – ambient, diffuse, and specular
  • Local model

(image courtesy of Wikipedia)

phong reflection model cont d
Phong Reflection Model (cont’d)
  • i-the light source:
  • Reflection terms for a material:
  • Contribution of each light color (e.g., red):
  • Contribution of all sources (e.g., red):
1 ambient reflection
#1: Ambient Reflection
  • Intensity same at every point on the surface
  • Depends on
    • Material property
  • Independent of
    • Location of the light source
    • Location of the viewer
2 diffuse reflection
#2: Diffuse Reflection
  • Characterized by rough surfaces
  • Assumed to be “perfectly diffuse”
  • Depends on
    • Material property
    • Location of the light source
  • Independent of
    • Location of the viewer
2 diffuse reflection cont d
#2: Diffuse Reflection (cont’d)
  • Lambert’s law (for perfectly diffuse surface):
3 specular reflection
#3: Specular Reflection
  • Characterized by smooth surfaces
  • Depends on
    • Material property
    • Location of the light source
    • Location of the viewer
  • “shininess coefficient” ()
modified phong reflection model
Modified Phong Reflection Model
  • Modified by Blinn a.k.a. “Blinn-Phong Shading Model”
  • Simplified by halfway angle (h) for faster calculation
    • rv replaced by n h
  • Faster calculation when the lightand the viewer are at infinity (WHY?)
    • GL_LIGHT_MODEL_LOCAL_VIEWER
  • Default model in OpenGL
computation of vectors
Computation of Vectors
  • How to compute the normal vector of
    • a triangle?
    • a (smooth) surface?
  • How to compute reflection vector?
flat gouraud shading
Flat & Gouraud Shading
  • Flat shading
    • The normal of the first vertex used
  • Gouraud shading
    • Lighting calculation at vertices
    • Linearly interpolated at each fragment
    • Artifacts for coarse polygon
phong shading
Phong Shading
  • Lighting computation at each fragment
  • Not directly supported by OpenGL
  • Can be implemented using GLSL (OpenGL Shading Language)
setting lights
Setting Lights
  • Enable/disable:
    • glEnable(GL_LIGHTING);
    • glEnable(GL_LIGHT#);
      • At least 8 lights
  • Positional or directional light:
    • glLight*(GL_LIGHT#, GL_POSITION, position);
  • Ambient, diffuse, specular components:
    • glLight*(GL_LIGHT#, GL_*, value);
      • GL_AMBIENT
      • GL_DIFFUSE
      • GL_SPECULAR
setting lights cont d
Setting Lights (cont’d)
  • Global ambient:
    • glLightModel*(GL_LIGHT_MODEL_AMBIENT, value);
  • Distance-attenuation model:
    • glLight*(GL_LIGHT#, GL_*, value);
      • GL_CONSTANT_ATTENUATION (a)
      • GL_LINEAR_ATTENUATION (b)
      • GL_QUADRATIC_ATTENUATION (c)
  • Spotlight:
    • glLight*(GL_LIGHT#, GL_*, value);
      • GL_SPOT_DIRECTION
      • GL_SPOT_EXPONENT
      • GL_SPOT_CUTOFF ([0,90] or 180)
setting lights cont d1
Setting Lights (cont’d)
  • Infinite/local viewer:
    • glLightModel*(GL_LIGHT_MODEL_LOCAL_VIEWER, value);
  • One/two-sided lighting:
    • glLightModel*(GL_LIGHT_MODEL_TWO_SIDED, value);
  • Light sources are transformed by modelview matrices!
setting materials
Setting Materials
  • Material properties are OpenGL states!
  • Ambient, diffuse, specular, emissive:
    • glMaterial*v(face, GL_*, value);
      • GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_DIFFUSE_AND_SPECULAR
      • Emissive property
        • Does not affect any other surface (it’s not a light!)
        • Simply adds color
  • Shininess:
    • glMaterial*(face, GL_SHININESS, value);
  • Front/back/front&back:
    • GL_FRONT, GL_BACK, GL_FRONT_AND_BACK
  • glColorMaterial
  • Various materials: refer to teapots.c!
nate robin s tutor
Nate Robin’s Tutor
  • Try yourself!!!