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.

  1. The aspects of drawing in 3D - what does it mean?
  2. The basic abstractions of THREE and how they map to the abstractions of 3D Graphics
  3. Perception and Physics of Imaging: Depth and Distance
  4. Coordinate Systems, Normals, and Tangents
  5. Scene, Camera, and Screen Coordinates
  6. Transformations from object to screen
  7. Scene graphs and the relationships to transformations
  8. Scene graphs and THREE
  9. Cameras (viewing transform, position, describing)
  10. LookFrom/LookAt/VUp - including the derivation
  11. Projection (various types)
  12. Perspective projections (basic equations, definitions)
  13. Asynchronous programming
  14. Perspective Math
  15. Z ordering with the perspective transformation
  16. Lighting Basics (types of lights, types of shading)
  17. Local vs. Global lighting
  18. Animation in interactive systems (what is easy/hard to change between frames)
  19. Rotations in 3D (Axis rotations, Euler’s Theorems, various rotation representations)
  20. Quaternions for rotations (basic concepts)
  21. Meshes (concepts, good meshes, vertex splitting, …)
  22. Interpolation over the triangle
  23. Texturing concepts
  24. UV mapping vs. other texture coordinate ways
  25. Texture coordinate wrapping types
  26. Texture minification and magnification
  27. Filtering concepts and practical methods
  28. Anisotropic filtering
  29. Practical filtering (mip maps and summed area tables, tri-linear interpolation)
  30. Layered textures
  31. Light maps
  32. Ambient Occlusion
  33. Procedural and solid textures
  34. Skyboxes
  35. Environment maps
  36. Fake Normals
  37. Bump and Environment Maps
  38. Shadow mapping
  39. How we create 3D drawings with a triangle-centric way
  40. Coloring triangles (vertex vs. texture colors)
  41. Drawing steps (occlusion, clipping, etc.)
  42. Occlusion approaches (Z-Buffer, Painters Algorithm)
  43. Dealing with semi-transparent objects
  44. How the graphics pipeline works, and how it leads to efficiency
  45. Shaders - how the pipeline is programmed and how that leads to the programming model
  46. Shader program concepts (variable types)
  47. Shader language details
  48. Lighting Models
  49. Diffuse Shading
  50. Specular Shading
  51. Using Phong and other models
  52. Shader Programming idioms
  53. Anti-Aliasing in Shaders
  54. Noise in general, and in shaders
  55. Displacement maps
  56. Early Z-Tests
  57. Deferred Shading
  58. Complex lighting via Environment Maps
  59. Texture Atlases and Re-Use
  60. 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.