# 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
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)
48. Lighting Models