|
1
|
|
|
2
|
- Monday, December 6, 3:30 to 6:30 pm, Gates B01
- Closed book, closed notes
- 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
|
|
3
|
- Image warping, texture mapping
- Perspective
- Visibility
- Lighting / Shading
|
|
4
|
- 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]
|
|
5
|
- 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
|
|
6
|
- Magnification
- Unweighted
- Area-weighted
- bilinear interpolation
|
|
7
|
- 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
|
|
8
|
- 1. What are some of the problems associated with Mipmaps?
- 2. What are some of the problems associated with SAT?
|
|
9
|
- Perspective Projection
- rays pass through center of projection
- parallel lines intersect at vanishing points
- Parallel Projection
- center of projection is at infinity
- oblique
- orthographic
|
|
10
|
- Observer position (eye, center of projection)
- Viewing direction (normal to picture plane)
- Clipping planes (near, far, top, bottom, left, right)
|
|
11
|
- Object Space
- Eye Coordinates
- Projection Matrix
- Clipped to Frustum
- Homogenize to normalized device coordinates
- Window coordinates
|
|
12
|
- 6 visible-surface determination algorithms:
- Z-buffer
- Watkins
- Warnock
- Weiler-Atherton
- BSP Tree
- Ray Tracing
|
|
13
|
- how does it work
- what are the necessary preconditions?
- asymptotic time complexity
- well-suited for hardware?
- how can anti-aliasing be done?
- how can shading be incorporated?
- parallelizable?
- ease of implementation
- best-case/worst-case scenarios
|
|
14
|
- Project all polygons to the image plane, at each pixel, pick the color
corresponding to closest polygon
- What has to be done to render transparent polygons?
|
|
15
|
- Scanline + depth
- progressing across scanline, if pixel is inside two or more polygons,
use depth to pick
- process interpenetrating polygons, add those events
|
|
16
|
- Start with area as original image
- subdivide areas until either:
- all surfaces are outside the area
- only one inside, overlapping or surrounding
- a surrounding surface obscures all other surfaces
|
|
17
|
- Cookie-cutter algorithm: clips polygons against polygons
- front to back sort of list
- clip with front polygon
- Why is this so difficult?
|
|
18
|
- 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
|
|
19
|
- “Ray Casting”
- for each pixel, cast a ray into the scene, and use the color of the
closest polygon
- Parametric form of a line: u(t) = a+(b-a)t
- Implicit form of the object
|
|
20
|
- 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
|
|
21
|
- Q. As every scout knows, you can start a fire on a sunny day by holding
a magnifying glass between the sun and a piece of paper placed on the
ground.
- Is the radiance of the sun as seen from the focal point of the lens
more, less, or the same as the radiance as seen from the same point in
the absence of the magnifying glass?
- Is the irradiance due to the sun at the focal point more, less, or the
same as the irradiance at the same point in the absence of the
magnifying glass?
|
|
22
|
- Point to area transport
- Computing the irradiance to a surface
- Cos falloff: N • L
- E = Fatt x I x (N • L)
|
|
23
|
- Lambertian (diffuse) surfaces
- Radiant intensity has cosine fall off with respect to angle
- Radiance is constant with respect to angle
- Reason: the projected unit area ALSO gets smaller as a cosine fall off!
- Fatt x I x Kd x (N • L)
|
|
24
|
- 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
- Don’t forget the generalizations to the BRDF!
- Spatially/spectrally varying, florescence, phosphorescence, etc.
|
|
25
|
- 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
|
|
26
|
- N • H model
- H is the halfway vector between the viewer and the light
- What is the difference in specular highlight?
|
|
27
|
- 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!
|
|
28
|
- Angle interpolation
- interpolate normal angles according to the implicit surface
- compute shading at each point of the implicit surface
- CORRECT! But very expensive
|
|
29
|
- 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?
|
|
30
|
- Know the OpenGL 1.1, 1.2 light equations (what terms mean what)
|
|
31
|
|
|
32
|
- 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
|
|
33
|
- Environment/reflection mapping
- Alphas for selecting between textures/shading parameters
- Bump mapping
- Displacement mapping
- Object placement
- 3d textures
|