CS 419v/519v -- Winter Quarter 2023
Test #2 Review
This page was last updated: March 9, 2023
Test dates and times:
The test will open Wednesday, March 22, 12:01 PM and will close Sunday, March 26, 11:59 PM
This gives you 107 hours, 58 minutes to take a 1-hour test.
Test Information:
-
This will be a multiple choice test cast as a Canvas "Quiz".
-
There will be 40 questions, worth 2.5 points each.
-
You will have 60 minutes to complete it.
Once you start, you need to finish.
Canvas does not allow you to pause, leave, then come back and resume.
-
The test is open notes and closed friends.
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 look up in the notes every one of the questions.
-
Clearly, I cannot stop you from accessing information on the Internet.
However, the test has been written against our class notes.
If you miss a particular question, any protest of the form "But somethingsomething.com said that..." will be ignored.
-
You are responsible for
- what is in the handouts
- what was said in class and the videos, including the Live Lectures
- what was covered on the quizzes
- what you have done in the projects
The test can cover any of the following topics:
-
The Swap Chain
Replaces OpenGL double-buffering
Ring buffer
Rendering and Presenting
-
Push Constants
What are they? How can they be used?
When is the Push data pushed?
Where does it go?
Why does the Graphics Pipeline Data Structure Layout need to know your intended use?
Robot matrix equations: [M n/g ] = [ M 1/g ] * [ M 2/1 ] * ... * [ M n/n-1 ]
-
Physical Devices
What does it mean to enumerate the physical devices?
VK_PHYSICAL_DEVICE_TYPE_ possibilities: DISCRETE_GPU, INTEGRATED_GPU
Asking about the Physical Device's features
Different types of memory: host visible, device local
-
Logical Devices
Layers
Extensions: _NV, _AMD, _EXT, _KHR
-
Dynamic State Variables
What are they used for?
-
Getting Information Back from the Graphics System
Occlusion Query -- what does this do for you?
Pipeline Statistics -- don't have to know the list of what it can do
Timestamp -- measures elapsed execution time in nanoseconds
-
Vulkan Compute Shaders
They are not part of the graphics pipeline.
What they are good for,
how to use them.
The meaning of "data parallel".
How the Compute Pipeline Data Structure differs from the Graphiics Pipeline Data Structure --
what do they have in common?
The global id (gid) variable.
Work-groups, work-items.
vkCmdDispatch( )
-
Specialization Constants
What are they used for?
Where in the setup process do they get used?
Examples of use
-
Synchronization
Fences -- between the Logical Device and the Host
Semaphores -- between queues
Events -- Between Command Buffers
-
Pipeline barriers
What are they? What are they good for?
Streets-analogy
-
Multisampling
What is aliasing?
Difference between Multisampling and Supersampling
Difference in number of fragment shader calls
-
Multipass Rendering
Directed Acyclic Graph-type structure
"Attachments"
Deferred Rendering with a Gbuffer
-
Vulkan ray-tracing
Five new shader types [ know what they are ]
Ray-Triangle Intersection [ You are not responsible for the equations ]
Acceleration structures
-
More Information
The test can cover any of the following Projects:
-
Project 3:
Drawing using an Index Buffer
-
Project 4:
Instancing
-
Project 5:
Push Constants