Computer Graphics Flashcards
What are the 4 high level stages of the rendering pipeline?
- Application 2. Geometry processing 3. Rasterization 4. Pixel Processing
What is a frustum?
Portion of a solid that lies between two parallel planes.
Draw the frustum of a perspective view volume.
Name as many potential responsibilities of the application stage as possible.
- Collision Detection
- Global Acceleration Algorithms (Culling)
- Animation
- Physics Simulation
- User Input
What is culling?
Removing surfaces that are not visible to the camera from the rendering process.
Describe in a single sentence what the geometry processing stage does.
Performs transforms, projections, and other operations on a scene’s geometry to prepare it for rasterization.
Describe in a single sentence what the Rasterization stage does.
Transforms geometric primitives into 2D pixel fragments that can be processed in the next stage.
Describe in a single sentence what the Pixel-Processing stage does.
As the name suggests, performs per-pixel processing to determine the final color of each pixel as well as depth testing and some other various operations to determine visibility of each fragment.
Describe what a compute shader is.
A compute shader is a program that does generic processing unrelated to the graphics pipeline, but can be run on a GPU to exploit its high amounts of parallelism.
What does superscalar construction accomplish?
Instruction level parallelism without using separate CPUs / cores.
What are the four sub-stages of Geometry Processing?
- Vertex Shading
- Projection
- Clipping
- Screen Mapping
Name as many potential responsibilities of the vertex shader as possible.
- Compute vertex position.
- Compute texture coordinates.
- Compute surface normal.
- Compute lighting data.
Describe vertex shading vs per-pixel shading.
Vertex shading computes the light value of a surface by storing that value in the vertex data and interpolating it across the entire surface.
Per-pixel shading computes the light value of each pixel individually, resulting in higher fidelity.
Describe the transformations required to take a model and display it on the screen in terms of the intermediate coordinate spaces.
- Model Space -> World Space
- World Space -> View Space
- View Space -> Clip Space
- Clip Space -> Normalized Device Coordinates
- Normalized Device Coordinates -> Screen Space
Describe what the purpose of shading is.
To determine what effect a light has on a material.
Perspective Division transforms _____ coordinates to _____ coordinates.
Clip / Normalized Device
You use a Projection Matrix to transform _____ space into _____ space.
- View
- Clip
What does the Projection sub-stage of Geometry Processing do?
Transforms the view volume into a unit cube.
What are the two primary classes of projection?
Orthographic and Perspective
Describe the difference between orthographic and perspective projection.
Orthographic (or parallel) projection utilizes a rectangular view volume to project view space into the unit cube. Thus, distance from the camera in view space has no impact on the size or position of geometry in the projected space.
Pespective projection utilizes the frustrum of a pyramid as the view volume to project view space into the unit cube. This results in objects further from the camera to appear smaller in the projected space.
What are the 3 main types of optional vertex processing?
- Tesselation
- Geometry Shading
- Stream Output
What are the two shaders that make up a tesselator?
Hull and Domain
What is a primary way in which tesselation is used?
To dynamically add or remove detail from geometry depending on distance from the camera.
What is the purpose of geometry shading?
Generates new vertices on the fly based on existing vertex data.
Name one primary use of geometry shading.
Particle systems.
What is the optional Stream Output substage of Geometry Processing?
A way for the programmer to halt the pipeline and output geometry data before rasterization.
Describe the purpose of clipping in a single sentence.
To get rid of any geometry that exists outside of the view volume.