here

advertisement
Coordinate Systems
Coordinate Systems
(conventional Cartesian
reference system)
Y
Z
X
Z
Y
X
Transformations
 Transformation occurs
about the origin of the
coordinate system’s axis
Rotate
Translate
Scale
Order of Transformations Make a
Difference
Box centered at
origin
Rotate about Z 45;
Translate along X 1
Translate along X 1;
Rotate about Z 45
Hierarchy of Coordinate Systems
Local coordinate system
 Also called:
– Scene graphs
– Tree structures
The Camera
Parallel Projection
Perspective Projection
The Camera
Near Clipping
Plane
Projection Plane
Far Clipping
Plane
View Volume
Rendering Pipeline
Hardware
Modelling
Transform
Visibility
Illumination +
Shading
Perception,
Interaction
Color
Texture/
Realism
Polygons, Meshes & Scan Conversion
V1
Raster
Scan line
V3
V2
Approximating Curved Surfaces
with Flat Polygons
Flat Shading – each
polygon face has a
normal that is used to
perform lighting
calculations.
Gouraud Shading
 Compute vertex normals
by averaging face
normals.
 Compute intensity at each
vertex.
I1
I1,2
I1,2,3,4
I1,3
Raster
Scan line
I3
I2
Illumination / Shading
 Distinction between illumination and
shading models
– illumination - calculate intensity at a
point on surface
– shading - uses calculated intensities to
shade polygons (uses illumination models)
 we’ll review the important models
Illumination / Shading
 We’ll talk more about concepts that
lead to realism:
– global illumination:
• ray tracing + radiosity
– “special effects/tricks”:
• shadows, texture maps, bump maps, antialiasing, transparency, reflection maps,
refraction
Local Illumination
 Local vs. global illumination models
– local (typically) - how is one point of the
scene illuminated directly by the light
source
• is light source only source of illumination?
• Simple models lump the rest into a single
ambient term
• do not account for reflections within the
environment
Local Illumination
 Local vs. global illumination models
– global - illuminates the whole scene
• typically makes use of local illumination
model
• incorporates inter-reflectance of objects
Lighting
 Ambient – basic, even
illumination of all objects in a
scene
 Directional – all light rays are
in parallel in 1 direction - like
the sun
 Point – all light rays emanate
from a central point in all
directions – like a light bulb
 Spot – point light with a limited
cone and a fall-off in intensity –
like a flashlight
Penumbra angle
(light starts to drop off
to zero here)
Light Effects
 Usually only considering
reflected
Light
reflected part
specular
Light
absorbed
ambient
diffuse
transmitted
Light=refl.+absorbed+trans.
Light=ambient+diffuse+specular
I  ka I a  kd I d  k s I s
Ambient Light
 is the light in the environment evenly reaching all
surfaces from all directions
 light location doesn’t matter
 eye position doesn’t matter
 IA: ambient light
I  ka I a
 ka: material’s ambient reflection coefficient
Ambient Light
 IA: ambient light
I  ka I a
 ka: material’s ambient reflection coefficient
 Models general level of brightness in the scene
 Accounts for light effects that are difficult to
compute (secondary diffuse reflections, etc)
Ambient Light Example
Diffuse Light
 Light absorbed by the surface and then reflected
equally to all directions
 Models dullness, roughness of a surface
Lambert’s Law:
(perfectly diffuse
surface)
I  k d I d cos 
 kd I d N  L 
 Id: intensity of light source
Light
N
f
 kd: material’s diffuse reflection coefficient
 N: normal vector (normalized)
 L: light source vector (normalized)
L
Diffuse Light
Diffuse Lighting Example
Specular Light
 Light that is reflected from the surface unequally
to all directions
 Models reflections on shiny surfaces
Phong’s Law:
I  k s I s cos 
Eye
n
 k d I d E  R 

n
R
R
R
n=inf.
R
n=large
n=small
N
ff
Light
L
Specular light example
Specular light calculation
 The effect of ‘n’ in the phong model
n = 10
n = 90
n = 30
n = 270
Depth Cueing/Illumination
 Theory - illumination fall-off with square of





distance 1/d2
doesn’t give good results
often a factor of 1/d or 1/(d+c) is used
a way to simulate fog - linear fade …
use start s and end e fade distances
d = distance from viewer:
I  I0
(e  d )
(d  s)

I0 
If
(e  s )
(e  s )
 If
for d  s
for s  d  e
for d  e
Depth Cueing/Illumination
Shading a Polygon
 Illumination Model: determine the color of a




surface (data) point by simulating some light
attributes.
Local IM: deals only with isolated surface (data)
point and direct light sources.
Global IM: takes into account the relationships
between all surfaces (points) in the environment.
Shading Model: applies the illumination models at a
set of points and colors the whole scene.
Texture Mapping: remappes and avgs. any value
above (diffuse) from a 2d picture or map
Shading Polyhedra
 Flat (facet) shading:
– Works well for objects
really made of flat faces.
– Appearance depends on
number of polygons for
curved surface objects.
 If polyhedral model is an approximation
then need to smooth.
Interpolated shading.
 Wylie, Romney, Evans and Erdahl pioneered
linear interpolation of shading information from
the vertices.
 Gouraud generalized this to arbitrary polygons.
 Interpolate illumination in same manner as we
interpolated z for z-buffering.
– Not physically correct for illumination.
 Assumption of polygon approximating a curved
surface gives rise to largest error.
Gouraud shading
Diffuse Reflection (Lambertian Lighting Model)
The greater the angle between the normal and the vector from
the point to the light source, the less light is reflected. Most light
is reflected when the angle is 0 degrees, none is reflected at 90
degrees.
Specular Reflection (Phong Lighting Model)
•
•
•
•
•
•
•
Maximum specular reflectance occurs
when the viewpoint is along the path
of the perfectly reflected ray (when
alpha is zero).
Specular reflectance falls off quickly
as alpha increases.
Falloff approximated by cosn(alpha).
n varies from 1 to several hundred,
depending on the material being
modelled.
1 provides broad, gentle falloff
Higher values simulate sharp, focused
highlight.
For perfect reflector, n would be
infinite.
Specular
Small n
Large n
Shading - efficiently
 Constant Shading:
 compute illumination at one point of the primitive




(e.g. surface) and apply it for the whole primitive.
Interpolated Shading:
compute illumination at borders (e.g. vertices) of
the primitive and interpolate the color
Accurate Shading:
compute illumination at every point of the primitive
I3
a
Ii
I1
Ii, j
I ib
I2
Flat Shading
 Polygon meshes approximate smooth curved
surfaces with planar facets. Using the previous
methods does not generate an illusion of smooth
curved surface.
N1
N2
 Reason: discontinuity of the normal vectors.
Gouraud Shading
 Assign vertex the normal of the smooth surface.
Or
 Average the normal of all neighboring polygons
N
N1
N2
 Interpolate colors along edges and scan-lines
Gouraud Shading
Flat Shading
Gouraud Shading
Phong Shading
 Gouraud Shading does not properly handle specular
highlights.
 Reason: Colors are interpolated
 Solution:
– Compute averaged normal at vertices (Gouraud)
– Interpolate normals along edges and scan lines!
– Apply illumination model at every pixel
Phong Shading
Gouraud Shading
Phong Shading
Textures
 Describe color variation in interior of 3D polygon
– When scan converting a polygon, vary pixel colors according to
values fetched from a texture
Texture
Surface
Image
Angel Figure 9.3
Surface Textures
 Add visual detail to surfaces of 3D objects
With surface texture
Polygonal model
Surface Textures
 Add visual detail to surfaces of 3D objects
Parameterization
+
geometry
=
image
texture map
• Q: How do we decide where on the geometry
each color from the image should go?
Option: Varieties of projections
Texture Mapping
 Steps:
– Define texture
– Specify mapping from texture to surface
– Lookup texture values during scan conversion
(0,1)
t
(1,0)
v
s
Texture
Coordinate
System
(0,0)
u
Modeling
Coordinate
System
y
x
Image
Coordinate
System
Texture Mapping
 When scan convert, map from …
– image coordinate system (x,y) to
– modeling coordinate system
(u,v) to
(1,1)
– texture image (t,s)(0,1)
t
(1,0)
v
s
Texture
Coordinate
System
(0,0)
u
Modeling
Coordinate
System
y
x
Image
Coordinate
System
Texture Mapping
 Scan conversion
– Interpolate texture coordinates down/across scan lines
– Distortion due to bilinear interpolation approximation
Texture Filtering
 Aliasing is a problem
Point sampling
Area filtering
Angel Figure 9.5
Texture Filtering
 Size of filter depends on projective warp
– Can prefiltering images
Magnification
Minification
Angel Figure 9.14
Mip Maps
 Keep textures prefiltered at multiple resolutions
– For each pixel, linearly interpolate between
two closest levels (e.g., trilinear filtering)
– Fast, easy for hardware
What is a Texture?
 MAP surface detail from a predefined (easy
table (“texture”) to a simple polygon
 Color
 specular ‘color’ (environment map)
 normal vector perturbation (bump
 map)
 displacement mapping
 transparency
 ...
Bump Mapping
 Modifies the direction of the surface normal.
Texture and Bump Mapping
 Diffuse and normal remapping
Displacement Mapping
 Modifies the surface position in the direction of
the surface normal.
Download