Computer Graphics

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

1/52

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 4:53 PM on 7/2/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

53 Terms

1
New cards

VAO (Vertex Array Object)

Acts as a state wrapper encapsulating the configuration settings for vertex data layouts, VBOs, and EBOs

2
New cards

VBO (Vertex Buffer Object)

Allocates raw GPU memory and uploads coordinate, color, or structural data directly to the graphics card

3
New cards

EBO (Element Buffer Object)

Implements indexed rendering, allowing geometry to reuse existing vertices to prevent duplication

4
New cards

Dot Product

Extensively used to calculate projections, vector lengths, and the cosine angles between rays

5
New cards

Cross Product

Returns a vector perpendicular to the plane formed by vectors $A$ and $B$. The magnitude of the resulting vector equals the geometric area of the parallelogram formed by the inputs

6
New cards

View Matrix (Camera Transform)

Built by calculating the mathematical inverse of the camera's translation and orientation matrices

7
New cards

Orthographic Projection

Creates a parallel view volume defined by width, height, near, and far clipping planes. It does not scale objects by distance and is used for 2D, isometric views, or directional light depth maps.

8
New cards

Perspective Projection

Replicates human vision by utilizing a field-of-view (FOV) angle, aspect ratio, and near/far clipping planes

9
New cards

Viewport Transform

Triggered via glViewport to map Normalized Device Coordinates (NDC) directly into the window's physical pixel grid

10
New cards

Phong Shading Model

Combines three core components: Ambient (base background color), Diffuse (directional illumination based on surface normals), and Specular (bright highlight reflections).

11
New cards

Gouraud Shading

Performs lighting math per-vertex in the vertex shader, causing pixel artifacts

12
New cards

Phong Shading

It executes calculations per-fragment in the fragment shader, creating smooth illumination

13
New cards

Z-Fighting

Visual artifacts occur when overlapping or near-identical polygon depth values conflict in the depth buffer

14
New cards

Buffer Masking

Disables writing data to the depth buffer while preserving depth reads, which is required for transparent or reflective geometry passes.

15
New cards

Stencil Buffer Masking

Implements pixel-level filtering by writing reference flags into an 8-bit stencil buffer to confine rendering to specific shapes, such as mirroring reflections inside a floor plane

16
New cards

Back-Face Culling

Eliminates geometry facing away from the camera based on triangle index winding orders, which are typically Counter-Clockwise (CCW)

17
New cards

Frustum Culling

Run on the CPU to check bounding volumes (Axis-Aligned Bounding Boxes or Bounding Spheres) against the camera's six frustum planes. This discards entire VAO draw calls before sending them to the GPU.

18
New cards

Occlusion Culling

Discards objects that are within the camera frustum but hidden behind larger, solid geometry.

19
New cards

Profiling

Tools like the Tracy Profiler provide synchronous tracking across CPU and GPU timelines to locate processing bottlenecks.

20
New cards

Driver Bottlenecks

Graphics performance is often bottlenecked by driver overhead rather than hardware limits. The CPU cost of managing a draw call is frequently more expensive than processing instructions within a shader.

21
New cards

PBR Foundations

Mimics light physics more accurately than empirical models like Blinn-Phong. To be considered PBR, a pipeline must satisfy three conditions:

  1. Rely on a microscopic microfacet surface distribution framework.

  2. Maintain strict energy conservation laws (reflected light cannot exceed incoming light intensity).

  3. Implement a physically based Bidirectional Reflectance Distribution Function (BRDF) evaluated via the standard Reflectance Equation.

22
New cards

IBL Integration

Extends PBR by treating a full environment cubemap as a distributed light source rather than relying only on analytical light points. To avoid complex Riemann sum calculations, the reflection equation is split into separate diffuse irradiance and specular components.

23
New cards

Forward Shading

Processes lighting operations for every incoming polygon face, which can lead to unnecessary calculations on obscured fragments

24
New cards

Deferred Shading

Splits rendering into separate geometry and lighting stages

25
New cards

G-Buffer (Geometry Buffer)

The first pass renders scene geometry to multiple textures using Multiple Render Targets (MRT), storing position coordinates, normal vectors, and albedo/specular properties.

26
New cards

Lighting Pass

Shaders read properties from the G-Buffer textures and perform lighting calculations exactly once per screen pixel, reducing calculation overhead. This approach provides noticeable performance gains on compatible platforms (e.g., up to a 120% FPS improvement on the Nintendo Switch) but demands higher memory bandwidth.

27
New cards

Shadow Pass

Renders the scene from the light source's point of view (Light POV) to save distance values into a specialized Depth Map texture. Directional lights require an orthographic projection matrix to calculate coordinates inside light-space.

28
New cards

Color Pass

Renders the scene from the camera's point of view. It transforms fragment positions into light-space coordinates and compares their depth values against the depth map texture to determine shadow states.

29
New cards

Bloom Pipeline

Employs Multiple Render Targets (glDrawBuffers) to generate two color buffers simultaneously: the standard color scene and a bright-pass highlight map. The bright map is blurred using a convolution kernel and combined back with the standard color scene.

30
New cards

Cubemaps

A specialized texture comprised of six square images mapped onto the inside faces of a cube, which is sampled using a 3D direction vector instead of flat 2D coordinates. It is primarily used to simulate infinite backgrounds like skyboxes, or to calculate real-time environmental reflections and refractions.

31
New cards

Framebuffer

An offscreen memory canvas that bundles color, depth, and stencil buffers so developers can redirect rendering outputs away from the main monitor display. This allows a scene to be rendered directly into a texture, which serves as the foundation for multi-pass rendering and post-processing filters.

32
New cards

Instancing

A hardware-accelerated technique that renders thousands of duplicate geometric meshes simultaneously using a single CPU draw call. It dramatically improves performance by eliminating the heavy driver overhead associated with constantly changing CPU states for individual objects like foliage or particles

33
New cards

Normal Mapping

A shading trick that alters the lighting vectors on a per-fragment basis using a 2D texture map where colors represent surface directions. This allows a low-polygon model to simulate complex physical details like cracks, bumps, and crevices without adding any expensive vertex geometry.

34
New cards

High Dynamic Range (HDR)

A pipeline architecture that utilizes floating-point color buffers to process light intensities far brighter than the standard hardware limit of 1.0. Before rendering to a screen, a tone-mapping function compresses these extreme exposure values back down to a standard displayable range, preventing highlights from getting entirely washed out.

35
New cards

Shadow Mapping

A multi-pass technique where the scene is first rendered from the perspective of a light source to generate a depth-only map. During the final camera pass, the pipeline checks if a pixel is further away than the corresponding depth on the map; if it is, the pixel is flagged as occluded and rendered in shadow.

36
New cards

Screen Space Ambient Occlusion (SSAO)

A post-processing effect that approximates global ambient lighting attenuation by analyzing depth values directly on the screen rather than calculating complex scene geometry. It works by testing random sample points around a pixel inside a small hemisphere, darkening tight corners and crevices where fewer samples can "see" open space.

37
New cards

glClear

[Command] Clears the specified screen buffer or buffers (such as color or depth) to their preset clear values.

38
New cards

glBufferData

[Command] Allocates storage and copies data from the CPU into a specified graphics buffer object.

39
New cards

glViewport

[Command] Defines the rectangular dimensions of the viewport to map normalized device coordinates into window screen pixels

40
New cards

glEnable

[Command] Activates specific fixed-function or pipeline capabilities, such as depth testing or blending.

41
New cards

glDepthFunc

[Command] Specifies the mathematical comparison criteria used to pass or fail fragments during depth testing

42
New cards

glDepthMask

[Command] Enables or disables the pipeline's ability to write new data into the depth buffer.

43
New cards

glBlendFunc

[Command] Configures the pixel operation weighting factors for both the incoming source color and the existing destination color during alpha blending

44
New cards

glGenFramebuffers

[Command] Allocates and generates unique identifying names for custom framebuffer objects.

45
New cards

glBindFramebuffer

[Command] Binds a specified framebuffer object to act as the current active rendering or reading target.

46
New cards

glCheckFramebufferStatus

[Command] Validates the configuration of the currently bound framebuffer to ensure it is complete and ready for rendering operations.

47
New cards

glDrawArrays

[Command] Renders geometric primitives directly from sequentially ordered array vertices.

48
New cards

glGenTextures

[Command] Generates unique texture reference identification numbers.

49
New cards

glBindTexture

[Command] Binds a specific texture ID to a texture target, such as a 2D texture or a cubemap.

50
New cards

glTexImage2D

[Command] Specifies the dimensions, data format, and pixel information to construct or upload a two-dimensional texture image on the GPU.

51
New cards

glDrawArraysInstanced

[Command] Renders multiple duplicates of a geometric primitive from array data using a single hardware-accelerated CPU call.

52
New cards

glDrawElementsInstanced

[Command] Renders multiple duplicates of indexed geometric meshes using a single CPU draw call to save driver overhead

53
New cards

glDrawBuffers

[Command] Specifies an array of color attachments inside a framebuffer that the fragment shader will simultaneously output to.