CS248 Midterm Review Michael Green and Sean Walker (based on the work of previous TAs)
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