Lecture 3 Flashcards

1
Q

Why use a pipeline?

A

Provides efficiency and allows programmer to perform number of operations on input data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What states are there in the pipeline?

A

1) Input Assembler
2) Vertex Shader
3) Tesselation Stage (Hull Shader, Tesselator, Domain Shader)
4) Geometry Shader
5) [Stream Output]
6) Rasterizer Stage
7) Pixel Shader
8) Output Merger

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What happens at Input Assembler?

A

Reads data from buffers into primitive format for use by other stages (mainly triangle lists)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does graphics card render objects as?

A

Triangles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What happens at Vertex Shader?

A

Performs operations on individual vertices (received from input assembler), including transformations and per-vertex lighting

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What view parameters does camera have?

A

EYE - where it’s located
AT - what it points at
UP - upward orientation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What view parameters is camera’s view frustrum specified by?

A

1) fovy - rotation
2) aspect - width/height
3) zNear
4) zFar

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What happens at tesselation stages?

A

Group of optional stages (Hull Shader, Tesselator, Domain Shader)
Allow generation of multiple vertices for added detail

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What happens at Geometry Shader?

A

Operates on entire primitive (eg. triangle) and can perform number of operations, like dynamically calculating normals, particle systems, shadow volume generation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What happens at Stream Output Stage?

A

Feed output of Geometry Shader stage to create new vertices to go back into start of pipeline for processing by another set of shaders (eg. useful for particle systems)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What happens at Rasterizer Stage?

A

Take that 3D vertex information and converts it down into pixels, interpolating data (eg. color) between vertices to produce per-pixel data.
Clips primitives into view frustrum - everything outside screen discarded. Culling performed here.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is culling?

A

Triangles facing away from screen not rendered

Left hand rule - triangles with vertices in counter-clockwise order not rendered

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What happens at Pixel (fragment) Shader?

A

Produces colour values for interpolated pixels
Per-pixel lighting to be performed
Depth values can be produced for depth-buffering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What happens at Output Merger?

A

Combines pixel shader outputs to produce final image. May include depth buffering. Put one with smallest depth value in front.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does water work?

A

Combines colors of both water and whatever is beneath it

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is double buffering?

A

Don’t want to draw objects directly to screen (may no longer be visible when finished rendering) so we render next frame to a buffer. Swap buffers when completely rendered.