CS 450/550 -- Fall Quarter 2022
Test #2 Review
This page was last updated: September 16, 2022
This content is not final until you see this message go away!
Test #2 will be taken using the Canvas Quiz mechanism.
It will consist of ~40 multiple choice questions to be done in 60 minutes.
It is Open Notes.
Warning! "Open Notes" is not the same as "I don't need to study for it"!
You will run out of time if you have to lookup in the notes every one of the questions.
Test Date and Time Range:
Test #2 will be taken on Canvas in a 60-minute interval of your own choosing during December 7-11.
It will open at 12:00 noon on Wednesday, December 7 and will close at 23:59 on Sunday, December 11.
Once it opens, we (me and the TAs) need to stop answering test-ish questions during Zoom Office Hours.
For all we know, someone is sitting there with the test open and is asking us questions from it.
The test is worth 100 points.
It is open notes.
It is closed friends.
You are responsible for:
- what is in the handouts,
- what was said in class,
- what was on the quizzes
- what you have done in the projects.
Clearly I cannot enforce the Closed Friends.
I am counting on your honesty.
I would refer you to the
Code of Student Conduct.
Also, you should know that, while there is a lot of good information on the Internet,
there is a lot of bad information too, or information explained in a different way.
This test has been written with respect to our class notes.
Complaints about a missed test answer because "that's not what something000something.com says" will be ignored.
The test can potentially cover any of the following topics:
What is it? Why do we care?
The glm::vec3, glm::vec4, and glm::mat4 data types
Vertex Buffer Objects:
What they are, where they live, what the advantage is of using them
GL_ARRAY_BUFFER vs. GL_ELEMENT_ARRAY_BUFFER: what each is used for
glDrawArrays( ) vs. glDrawElements( )
(You don't need to be able to replicate the code.)
Casting Shadows in OpenGL:
First pass renders from the point of view of the light source and records depths from there
Second pass uses those depths to determine what fragmants are in a shadow
If a fragmant is in a shadow, render it with Ambient light only
Cubic Bézier curves (although, in the general case, they can be any order).
Bézier curve drawing.
(You don't need to know the equation.)
The fact that Bézier surfaces exist, and the bicubic ones are sculpted with 16 points
Constructive Solid Geometry (CSG)
Using displacement textures in the vertex shader
Simplified Euler's rule relating Faces, Edges, and Vertices (F - E + V = 2)
The general pattern for computing
[M n/g] = [M 1/g] * [M 2/1] * ... * [M n-1/n-2] * [M n/n-1]
Local versus Global illumination.
What the Rendering Equation means
(you don't need to know the equation itself)
Two types of rendering: start at the object, start at the eye
OpenGL rendering: Painter's method, Z-buffer
Ray-tracing: what it is good at, what it isn't, how it models light transport, intersectng a ray with a xxx
Radiosity: what it is good at, what it isn't, how it models light transport, system of equations
Sub-surface scattering: what materials is it good for creating the illusion of?
Path-Tracing: Bidirectional Reflectance Distribution Function (BRDF), distribution of the bounced light rays
Screen Space Ambient Occlusion (SSAO)
Key-framing: what it is, why do it this way
Forward kinematics: what it is, why do it this way
Inverse kinematics (IK): what it is, why do it this way
Particle systems: what they are, the three elements of doing it (Emit, Display, Update), what effects you can create this way
Rigid Body Physics: why do it this way, F=ma, springs, dampers, chains/strings, cloth, Jello™
Functional animation: what it is, how it is done, why do it this way, its use in collision avoidance
Motion Capture (MoCap): what it is, why do it this way
What is it?
How does it work?
What are some of the things you can do with it?
Additive versus subtractive manufacturing
The STL file format
The Vertex-to-Vertex rule
Simplified Euler's Formula (F - E + V = 2)
Putting the Eye Position on an Orbiting Body:
Plane of zero parallax
Non-symmetric viewing volumes
Different ways of channeling the images into each eye
Why it was created, why should you care
Comparison with OpenGL
The Pipeline State Object (PSO) -- put a combination of all state values in one data structure
Compiling shaders into a SPIR-V file: why do it this way?
(I can't ask any Final Project questions because everyone is doing something different.)