01 - Graphics Pipeline

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/42

encourage image

There's no tags or description

Looks like no tags are added yet.

43 Terms

1
New cards

Pixel

Short for "picture element". The smallest controllable dot on a display. An LCD is a rectangular array of these cells.

2
New cards

LCD (Liquid Crystal Display)

A rectangular array of cells containing liquid crystals, large molecules whose optical properties change when an electric field is applied. Small wires through the cells apply the field.

3
New cards

Resolution

The size of the display's pixel array, e.g. 1920 x 1080.

4
New cards

Native resolution

The physical pixel resolution an LCD is built with. Driving it at a different resolution forces rescaling, which makes the image look blurry.

5
New cards

Refresh rate

How many times per second the image is sent to the screen, at least 60 Hz. Very important for CRTs, much less for LCDs. The graphics card generates the signals.

6
New cards

RGB

How colour is represented in graphics: three components, red, green and blue (e.g. 0-255 each, or 0.0-1.0 in shaders). Each pixel stores one RGB triple.

7
New cards

Why RGB is used

It matches how screens produce colour: every pixel emits a mix of red, green and blue light.

8
New cards

Colour as a model of perception

Colour representation is a practical model of human perception, not a copy of reality: we have 3 types of cone cells, brightness perception isn't linear, and different spectra can look like the same colour.

9
New cards

Gamut

The range of colours a device can reproduce. A display's RGB gamut is a triangle inside the horseshoe-shaped region of all visible colours.

10
New cards

RGB gamut limitation

RGB can't reproduce every visible colour, because some colours would need negative amounts of a primary. Printers (CMYK) have a different, usually smaller, gamut.

11
New cards

Scanning pattern (scan-out)

Pixels are sent to the screen in scanline order: one row at a time, left to right, starting at the top-left and working down.

12
New cards

Blanking (retrace)

The period between scan lines (horizontal) and between frames (vertical) when no pixel data is sent. It comes from CRT electron beams, and modern displays keep the same scan-out pattern.

13
New cards

Raster

The 2D grid of pixels that makes up an image.

14
New cards

Frame buffer

Graphics memory that stores the colour of every pixel on the screen: the raster held in memory. Rendering writes into it and the display scans it out.

15
New cards

Double buffering

Drawing into a hidden back buffer while the front buffer is displayed, then swapping them (glfwSwapBuffers) when the frame is done. It prevents flicker and tearing.

16
New cards

Rendering

The process of converting the geometric model into the pixels in the frame buffer.

17
New cards

Model

The digital (usually mathematical) representation of an object's geometry that the computer stores and manipulates. In the pipeline it's made of triangles.

18
New cards

Real-time vs offline rendering

Real-time (games) must produce many frames per second and favours speed. Offline (film effects) favours image quality and doesn't care about speed.

19
New cards

Speed vs quality trade-off

It's very hard to get both in rendering. OpenGL favours speed at the expense of quality, while global illumination favours quality.

20
New cards

Local illumination

A point's colour depends only on that point, the light sources and the viewer. Fast and pipeline-friendly. Used by OpenGL (e.g. the Phong model).

21
New cards

Global illumination

Lighting that considers every object in the scene (shadows, reflections, light bouncing between surfaces). High quality but slow. Examples: ray tracing, radiosity.

22
New cards

Graphics pipeline

The sequence of stages that turns a 3D model into pixels. Each stage specializes in one kind of computation, which makes hardware (GPU) implementation practical.

23
New cards

Why models use triangles

They're simple, always flat, easy to transform, project and fill, and enough of them approximate curved surfaces. More triangles = smoother but more memory and work.

24
New cards

Vertex processing

The first, geometric part of the pipeline, done per vertex in the vertex shader: modeling transformations, viewing, projection, lighting/colour, and clipping.

25
New cards

Fragment processing

The second, per-pixel part of the pipeline, done in the fragment shader: find the pixels a triangle covers, compute their colour, interpolate depth, hidden surface removal.

26
New cards

Why vertex processing is per vertex

Transforming and projecting a vertex doesn't depend on any other vertex. Only clipping needs the whole triangle.

27
New cards

Why fragment processing parallelizes

Every pixel's computation is independent of the others, so the GPU can process many fragments at the same time.

28
New cards

Coordinate space chain

Local (object) -> World -> View (camera) -> Clip -> Screen. Vertex programs transform each vertex along this chain.

29
New cards

Projection

Mapping 3D triangles onto the 2D screen plane. The course uses perspective projection because it matches how eyes and cameras see.

30
New cards

Camera definition

Eye position, viewing direction, up direction, and near and far planes (plus the projection).

31
New cards

View frustum

The truncated pyramid of space a perspective camera can see, between the near and far planes. Only triangles inside it can appear on screen.

32
New cards

Clipping

Removing or trimming triangles relative to the view frustum: fully inside = keep, fully outside = discard, crossing = keep only the visible part. Unclipped triangles would land in the wrong places and confuse the hardware.

33
New cards

Filling (rasterization)

After projection, setting every pixel inside the triangle's 2D outline. Done with efficient algorithms in GPU hardware.

34
New cards

Fragment

A candidate pixel-sized piece produced by rasterization. In this course fragments = pixels, though they can differ in advanced setups (e.g. multisampling).

35
New cards

Hidden surface problem

Many triangles can project onto the same pixel. Only the surface closest to the viewer should colour it.

36
New cards

Depth (z) buffer

Extra memory, alongside the frame buffer, holding the current depth of each pixel. A new pixel is drawn only if it's closer than the stored depth, which then gets updated.

37
New cards

Depth of a vertex

A third coordinate produced by projection: the distance from the viewer. Interpolated across the triangle like colour and used by the z-buffer.

38
New cards

Lighting model + material

Triangles have no colour of their own, just geometry. Colour comes from lights (position/direction, colour) combined with material properties (how the surface reflects light).

39
New cards

Normal vector (role)

A vector perpendicular to the surface. It determines how light reflects off it, so it's essential for lighting.

40
New cards

Flat shading

One colour per triangle. Fast, but looks faceted.

41
New cards

Gouraud shading

Compute the colour at each vertex, then interpolate the colours across the triangle. The old OpenGL default. Can miss highlights.

42
New cards

Phong shading

Interpolate the normal vector across the triangle and compute the colour at every pixel. More realistic and what OpenGL does now, but more expensive.

43
New cards