Course Review for Midterm
CS 381 Lecture, Dr. Lawlor
Here's what we've covered in 381 so far, with an emphasis on the stuff I've actually put into the miderm:
- Vector Basics
- Components of color, position, direction, normal vectors
- Vector arithmetic
- Dot and cross product: what they are, how they're used
- Unit vectors
- Coordinate systems
- Basic matrix representation
- Rotation, translation, and scaling matrices
- Isometric projection
- Perspective projection
- Projection operation and matrices; the W coordinate
- Lighting
- Physical basis of light and color
- Spectrum view of light sources and reflectance
- Equations, assumptions, and limitations of various approximations of light
- Diffuse illumination: clamp(dot(N,L),0.0,1.0)
- Ambient illumination: add fixed amount of light
- Specular highlight: pow(clamp(dot(N,H),0.0,1.0),specExp)
- OpenGL
- Basic architecture: C++ to vertex to fragment to screen
- Uniform, varying, and builtin OpenGL variables
- glBegin/glEnd; points, lines, triangles, quads
- glEnable/glDisable depth, alpha blending
- Texturing
- Texture coordinates
- Representation of texture as pixels
- Wrap modes: repeat, clamp, clamp-to-border
- Filtering modes: nearest-neighbor, linear, mipmaps
We've covered a lot of material so far, but we've only started to get into the really cool stuff. In the second half of the course, my plan is to cover:
- Render-to-texture (framebuffer objects)
- Bump and parallax mapping
- Simulating water motion with textures
- Reading and animating complicated models