The best thing is, of course, to go back over the Course Calendar to remind yourself what you’ve read and what we’ve discussed. Remember to go to the Lecture Notes category of the web page to see the lecture notes from most of the lectures. Looking at last year’s list won’t be too helpful because we’ve gone in a different order (this year we did shaders first, where last year shaders were at the end).
Here is a list of topics we covered in class that we consider fair game on the exam:
- Raster vs. Vector
- Coordinate system concepts and transformations
- Linear algebra basics (vectors, matrices, dot and cross products, …)
- Homogeneous Coordinates
- Linear Transformations and their composition
- Hierarchical modeling
- The stages of 3D drawing and the pipeline
- Hidden surface removal (Z-Buffer and painters algorithm)
- Viewing and Projection (pinhole cameras, homogenous representations of projection, …)
- Rasterization and Barycentric Interpolation
- The hardware implementation of the pipeline and shader concepts
- The “standard” lighting model
- Textures (coordinates, sampling, …)
Here are some things we will not ask you:
- We may show you snippets of JavaScript code that call WebGL or HTML5 Canvas functions, but we won’t expect you to remember all the functions and what all their parameters are. However, if we show you a (common) function, you should be able to remember what it does (or what would happen if we removed a line of code).
- We may show you snippets of shader program code and ask you questions about it, but we don’t expect you to remember all the commands in the GLSL library. We may ask you to recognize key language features (like the different types of variables and swizzles).
- We won’t ask you about how twgl encapsulates and abstracts the graphics concepts from class.