320 likes | 331 Views
CS248 Final Review. CS248 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
E N D
CS248 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 Contents • Image warping, texture mapping • Perspective • Visibility • Lighting / Shading
Texture 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 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 Warps • Magnification • Unweighted • Area-weighted • bilinear interpolation = texel = pixel
Textures • Mipmapping • multi-resolution texture • bilinear interpolation at 2 closest resolutions to get 2 color values • linear interpolate 2 color values based on actual resolution • Summed area tables • fast calculation of prefilter integral in texture space
Viewing: Planar Projections • 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 Views • Observer position (eye, center of projection) • Viewing direction (normal to picture plane) • Clipping planes (near, far, top, bottom, left, right)
Viewing: OpenGL Pipeline • Object Space • Eye Coordinates • Projection Matrix • Clipped to Frustum • Homogenize to normalized device coordinates • Window coordinates
Visibility • 6 visible-surface determination algorithms: • Z-buffer • Watkins • Warnock • Weiler-Atherton • BSP Tree • Ray Tracing
Things to know how does it work what are the necessary preconditions? asymptotic time complexity how can anti-aliasing be done? how can shading be incorporated? well-suited for hardware? parallelizable? ease of implementation best-case/worst-case scenarios
Z-buffer • Project all polygons to the image plane, at each pixel, pick the color corresponding to closet polygon
Watkins • Scanline + depth • progressing across scanline, if pixel is inside two or more polygons, use depth to pick • process interpenetrating polygons, add those events
Warnock 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 Subdivision • Cookie-cutter algorithm:clips polygons against polygons • front to back sort of list • clip with front polygon
BSP 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 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 t y b (0,0) x
Ray 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 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
Lighting • 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
Lighting • Point to area transport • Computing the irradiance to a surface • Cos falloff: N • L • E = Fatt x I x (N • L)
Lighting • 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) N N V I length = cos(t) V Radiance intensity: intensity/solid angle
Lighting • 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.
Lighting • 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 L R V
Lighting • 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 H L R V
Shading • 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!
Shading • Angle interpolation • interpolate normal angles according to the implicit surface • compute shading at each point of the implicit surface • CORRECT! But very expensive
Shading • 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? N2 N1 Polygon approximation Implicit surface
Lighting and Shading • Know the OpenGL 1.1, 1.2 light equations
Exotic 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 on the Final! More review questions at: http://graphics.stanford.edu/courses/cs248-99/final_review