Final Project Review Meeting WELCOME Final Project Review Meeting 8.7.2004.
CS248 Final Review
description
Transcript of CS248 Final Review
CS248 Final ReviewCS248 Final Review
CS248 FinalCS248 Final
• Thurs, December 12, 7-10 pm, Gates B01, B03
• Mainly from material in the second half of the quarter– will not include material from last part of last
lecture (volume rendering, image-based rendering)
• Review session slides available from class website
• Office hours as regularly scheduled
CS248 Final Review CS248 Final Review ContentsContents
• Image warping, texture mapping• Perspective• Visibility• Lighting / Shading
Texture MappingTexture Mapping
• Coordinate systems– [u,v,q] => [xo, yo zo, wo] => [xw, yw zw,
ww] => [x, y, w]– Assuming all transforms are linear, then
– [A][u, v, q]’ = [x, y, w]• Common mappings
– forward mapping (scatter), texture->screen
– backward mapping (gather)
Texture WarpsTexture Warps
• Rotation, translation• perspective• Minification (decimation)
– unweighted average: average projected texel elements that fall within a pixel’s filter support
– area-weighted average: average based on area of texel support
Texture WarpsTexture Warps
• Magnification– Unweighted– Area-weighted– bilinear interpolation
= texel= pixel
TexturesTextures
1.Mipmapping1.multi-resolution texture2.bilinear interpolation at 2 closest
resolutions to get 2 color values3.linear interpolate 2 color values
based on actual resolution2.Summed area tables
1.fast calculation of prefilter integral in texture space
Viewing: Planar Viewing: Planar ProjectionsProjections
• Perspective Projection– rays pass through center of projection– parallel lines intersect at vanishing
points• Parallel Projection
– center of projection is at infinity– oblique– orthographic
How many vanishing points are there in an image produced by parallel projection ?
Specifying Perspective Specifying Perspective ViewsViews
• Observer position (eye, center of projection)
• Viewing direction (normal to picture plane)
• Clipping planes (near, far, top, bottom, left, right)
Viewing: OpenGL PipelineViewing: OpenGL Pipeline
• Object Space• Eye Coordinates• Projection Matrix• Clipped to Frustum• Homogenize to normalized device
coordinates• Window coordinates
VisibilityVisibility
1.6 visible-surface determination algorithms:1.Z-buffer2.Watkins3.Warnock4.Weiler-Atherton5.BSP Tree6.Ray Tracing
Things to knowThings to know
how does it workwhat are the necessary preconditions?asymptotic time complexityhow can anti-aliasing be done?how can shading be incorporated?well-suited for hardware?parallelizable?ease of implementationbest-case/worst-case scenarios
Z-bufferZ-buffer
• Project all polygons to the image plane, at each pixel, pick the color corresponding to closet polygon
WatkinsWatkins
• Scanline + depth– progressing across scanline, if pixel is
inside two or more polygons, use depth to pick
– process interpenetrating polygons, add those events
Warnock SubdivisionWarnock Subdivision
• Start with area as original image– subdivide areas until either:
• all surfaces are our outside the area• only one inside, overlapping or
surrounding• a surrounding surface obscures all other
surfaces
*
Weiler-Atherton Weiler-Atherton SubdivisionSubdivision
• Cookie-cutter algorithm:clips polygons against polygons– front to back sort of list– clip with front polygon
BSP TreesBSP Trees
• Provides a data structure for back-to-front or front-to-back traversal– split polygons according to specified
planes– create a tree where edges are
front/back, leaves are polygons
Ray TracingRay Tracing
• “Ray Casting”– for each pixel, cast a ray into the
scene, and use the color of the point on the closest polygon
– Parametric form of a line: u(t) = a+(b-a)t a b
(0,0) x
y t
Ray TracingRay Tracing
• Sphere: |P-Pc|2 – r2 = 0• Plane: N • P = -D• Can you compute the intersection
of a ray and a plane? A ray and a sphere?
Ray TracingRay Tracing
• Point in polygon tests– Odd, even rule
• draw a line from point to infinity in one direction
• count intersections: odd = inside, even = outside
– Non-zero winding rule• counts number of times polygon edges wind
around a point in the clockwise direction• winding number non zero = inside, else
outside
LightingLighting
• Terminology– Radiant flux: energy/time (joules/sec
= watts)– Irradiance: amount of incident radiant
flux / area (how much light energy hitting a unit area, per unit time)
– Radiant intensity (of point source): radiant flux over solid angle
– Radiance: radiant intensity over a unit area
LightingLighting
• Point to area transport– Computing the irradiance to a surface– Cos falloff: N • L– E = Fatt x I x (N • L)
LightingLighting
• Lambertian (diffuse) surfaces– Radiant intensity has cosine fall off
with respect to angle– Radiance is constant with respect
toangle– Reason: the projected unit area ALSO
gets smaller as a cosine fall off!– Fatt x I x Kd x (N • L)
NV
I length = cos(t)
Radiance intensity: intensity/solid angle
NV
LightingLighting
• BRDF = Bidirectional Reflectance Distribution Function– description of how the surface interacts with
incident light and emits reflected light– Isotropic
• Independent of absolute incident and reflected angles
– Anisotropic• Absolute angles matter
– Don’t forget the generalizations to the BRDF!• Spatially/spectrally varying, florescence,
phosphorescence, etc.
LightingLighting
• Phong specular model– Isn’t true to the physics, but works
pretty well– reflected light is greatest near the
reflection angle of the incident light, and falls off with a cosine power
– Lspec = Ks x cosn(a), a= angle between viewer and reflected ray
– how do you compute the reflected ray vector?
N LR
V
LightingLighting
• Local vs. infinite lights– Understand them! Know how to draw
the goniometric diagrams for various light/viewer combinations
• N • H model– H is the halfway vector between the
viewer and the light– What is the difference in specular
highlight?
N
VR H L
ShadingShading
• Gouraud shading– Compute lighting information (ie: colors) at
polygon vertices, interpolate those colors– Problems?
• Misses highlights• need high resolution mesh to catch highlights• mach bands!
ShadingShading
• Angle interpolation– interpolate normal angles according to the
implicit surface– compute shading at each point of the
implicit surface– CORRECT! But very expensive
ShadingShading
• Phong shading– Compute lighting normals at all points on
the polygon via interpolation, and do the lighting computation on the interpolated normals (of the polygon)
– Problems? Difference with angle interpolation?
Implicit surfacePolygon approximationN1 N2
Lighting and ShadingLighting and Shading
• Know the OpenGL 1.1, 1.2 light equations
Exotic uses of texturesExotic uses of textures
• Environment/reflection mapping• Alphas for selecting between
textures/shading parameters• Bump mapping• Displacement mapping• Object placement• 3d textures
Good Luck!Good Luck!
Good Luck on the Final!
More review questions at:http://graphics.stanford.edu/courses/cs248-99/final_review