coordinate systems x y z (conventional cartesian reference system) x y z
Post on 20-Dec-2015
227 views
TRANSCRIPT
Coordinate Systems
X
Y
Z
Coordinate Systems
(conventional Cartesianreference system)
X
YZ
Transformations Transformation occurs
about the origin of the coordinate system’s axis
TranslateScale
Rotate
Order of Transformations Make a Difference
Translate along X 1;
Rotate about Z 45
Rotate about Z 45; Translate along X 1
Box centered atorigin
Hierarchy of Coordinate Systems
Also called:– Scene graphs
– Tree structures
Local coordinate system
The Camera
Projection Plane
View Volume
Near ClippingPlane Far Clipping
Plane
The CameraParallel Projection
Perspective Projection
Rendering Pipeline
Hardware
Modelling Transform Visibility
Illumination +Shading
ColorPerception,Interaction
Texture/Realism
Polygons, Meshes & Scan Conversion- In scan line rendering (the most common): Each polygon is calculated along each scan line. From the top scan line to the bottom of a frame in the 2D projection plane.
V2V3
RasterScan line
V1
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
I2
I1,2 I1,3
I3
I1,2,3,4Raster
Scan line
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– global illumination:
• ray tracing + radiosity
– mapping and other techniques• texture maps, bump maps, reflection maps,
transparency, anti-aliasing, shadows
ray tracing radiosity
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 Types 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
Cone anglePenumbra angle
(light starts to drop offto zero here)
Light Effects Usually only considering
reflected partLight
absorbed
transmitted
reflected
Light=refl.+absorbed+trans.
Light
ambient
specular
diffuse
ssddaa IkIkIkI
Light=ambient+diffuse+specular
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
aaIkI IA: ambient light
ka: material’s ambient reflection coefficient
Ambient Light
aaIkI IA: ambient light
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
Light
LNIk
IkI
dd
dd
cos N
L
Id: intensity of light source
kd: material’s diffuse reflection coefficient N: normal vector (normalized) L: light source vector (normalized)
Lambert’s Law:(perfectly diffuse
surface)
Diffuse Light
Diffuse Lighting Example
Specular Light Light that is reflected from the surface
unequally to all directions Models reflections on shiny surfaces
Light
ndd
nss
REIk
IkI
cos N
LEye R
Phong’s Law:
R
n=inf.
R
n=large
R
n=small
Specular light example
Specular light calculation
The effect of ‘n’ in the phong model
n = 10
n = 30
n = 90
n = 270
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 a 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.
Flat and Smooth Shading
Getting smooth Curvature : interpolation
Gouraud ShadingFlat Shading
Flat Shading Polygon meshes approximate smooth curved
surfaces with planar facets. Using the previous methods does not generate an illusion of smooth curved surface.
Reason: discontinuity of the normal vectors.
N1 N2
Gouraud Shading Assign vertex the normal of the smooth surface.
Or Average the normal of all neighboring polygons
N1 N2
N
Interpolate colors along edges and scan-lines
Gouraud shading
Phong 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 ShadingGouraud Shading
Phong Shading
SpecularSmall n Large n
Surface ImageTexture
Textures Images (textures) applied to polygons (models) to enhance
the visual effect of a scene
Angel Figure 9.3
Surface Textures Add visual detail to surfaces of 3D objects
Polygonal model
With surface texture
Surface Textures Add visual detail to surfaces of 3D objects
Parameterization
geometrygeometry
++ ==
imageimage texture maptexture map
• Q: How do we decide where on the geometryeach 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,0)
(1,0)
(0,1)
uv
x
y
ModelingCoordinate
System
ImageCoordinate
System
s
t
TextureCoordinate
System
Texture Mapping
When scan convert, map from …– image coordinate system (x,y) to– modeling coordinate system (u,v) to– texture image (t,s)
(0,0)
(1,0)
(1,1)
(0,1)
uv
x
y
ModelingCoordinate
System
ImageCoordinate
System
s
t
TextureCoordinate
System
Texture Mapping– Interpolate texture coordinates down/across scan lines
– U,V mapping can be arbitrary and manipulated
– Distortion due to interpolation approximation
Texture Filtering
Angel Figure 9.5
Aliasing is a problem
Point sampling Area filtering
Texture Filtering
Angel Figure 9.14
Size of filter depends on projective warp– Can prefiltering images
Magnification Minification
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 deviation (bumpmap) 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.
the actual geometric position of points over the textured surface are displaced along the surface normal according to the values stored into the texture.
Programmable Shaders Vertex Shader - Small Vertex program that can modify the
vertex between submission to the pipeline and rendering
Programmable Shaders
Vertex Shader - Small program that can
modify every vertex before rendering 3 examples:
– Renderman (software-based, non real-time),
– Microsoft’s DirectX (GPU real time)
– Nvidia’s Cg (GPU real time)
http://www.nzone.com/object/nzone_luna_videos.html