Exam2 Study Guide
Exam 2 will cover the class topics from the second 6 weeks of class, beginning with 3D up through Shaders and the interactive rendering things discussed on April 22nd.
This is a rough outline - no promises that it includes everything (any ommission of a topic is not intentional).
A more compact outline can be seen in the video outlines (which organizes things by lecture): Lecture Materials: Videos and Slides. This doesn’t include the workbooks or readings, but most important concepts were discussed in some video.
Hint: Because the exam rules do not preclude you from accessing resources (see Exams (policy)), we are less likely to ask you things that are easy to look up (like memorizing equations), since you can always look them up.
- The aspects of drawing in 3D - what does it mean?
- The basic abstractions of THREE and how they map to the abstractions of 3D Graphics
- Perception and Physics of Imaging: Depth and Distance
- Coordinate Systems, Normals, and Tangents
- Scene, Camera, and Screen Coordinates
- Transformations from object to screen
- Scene graphs and the relationships to transformations
- Scene graphs and THREE
- Cameras (viewing transform, position, describing)
- LookFrom/LookAt/VUp - including the derivation
- Projection (various types)
- Perspective projections (basic equations, definitions)
- Asynchronous programming
- Perspective Math
- Z ordering with the perspective transformation
- Lighting Basics (types of lights, types of shading)
- Local vs. Global lighting
- Animation in interactive systems (what is easy/hard to change between frames)
- Rotations in 3D (Axis rotations, Euler’s Theorems, various rotation representations)
- Quaternions for rotations (basic concepts)
- Meshes (concepts, good meshes, vertex splitting, …)
- Interpolation over the triangle
- Texturing concepts
- UV mapping vs. other texture coordinate ways
- Texture coordinate wrapping types
- Texture minification and magnification
- Filtering concepts and practical methods
- Anisotropic filtering
- Practical filtering (mip maps and summed area tables, tri-linear interpolation)
- Layered textures
- Light maps
- Ambient Occlusion
- Procedural and solid textures
- Skyboxes
- Environment maps
- Fake Normals
- Bump and Environment Maps
- Shadow mapping
- How we create 3D drawings with a triangle-centric way
- Coloring triangles (vertex vs. texture colors)
- Drawing steps (occlusion, clipping, etc.)
- Occlusion approaches (Z-Buffer, Painters Algorithm)
- Dealing with semi-transparent objects
- How the graphics pipeline works, and how it leads to efficiency
- Shaders - how the pipeline is programmed and how that leads to the programming model
- Shader program concepts (variable types)
- Shader language details
- Lighting Models
- Diffuse Shading
- Specular Shading
- Using Phong and other models
- Shader Programming idioms
- Anti-Aliasing in Shaders
- Noise in general, and in shaders
- Displacement maps
- Early Z-Tests
- Deferred Shading
- Complex lighting via Environment Maps
- Texture Atlases and Re-Use
- Skinning (Matrix Palette)
Note: topics after skinning will not be on Exam 2. We might review skinning in the April 26 lecture, but the next topics (other deformation-based approaches) in the lecture will be for the final exam.