1/39
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Distinctive Features of Modern GPUs
Massive parallelism, high throughput architecture, dedicated hardware for graphics pipelines, optimized high-performance floating point calculations, memory bandwidth and architecture, CUDA/GPU programming frameworks, energy effieciency for parallel workloads, scalability
Components of computer graphics system
I/O devices, CPU, GPU, Memory, framebuffer
Raster
An array of picture elements
Framebuffer
A region of memory storing pixel data, which may contain multiple buffers like color, depth, and stencil buffers.
Rasterization (scan conversion)
The conversion of geometric entities to pixel colors and locations in the framebuffer.
GPU components
Graphics memory (framebuffer), graphics processor, video controller
Rasterizer
Scan converts each in-view primitive into a set of fragments
Fragment
Holds onto the color, position, and depth of a potential pixel
Framebuffer performance is determined by...
screen resolution, depth, refresh rate
GPUs are used in many applications for its...
parallel processing
Graphics pipeline
vertex processor, clipping and primitive assembly, rasterization, fragment processing
Vertex processor
Transforms vertices in world space into vertices in camera space; Performs transformations and projections;
Clipper and primitive assembler
Assembles primitives from vertices, then clips primitives that are out of view
Fragment processor
Processes fragments to update pixels in framebuffer; Performs tasks like texture combining, per-fragment shading, depth and alpha tests.
Graphics pipeline conversions
scene, geometric primitives, fragments, pixels
Point
a location in space
Vector
a quantity with magnitude and direction
Scalar
a quantity with no locality or direction
Dimension (of a vector space)
max number of linearly independent vectors in vector space
Vector space
A space where vectors and scalars can be combined to create new vectors
Euclidean space
An extension vector space that allows vector measurement; Equipped with inner product providing notion of angle and distance
Affine space
An extension of vector space that includes points; Points can be combined with themselves or vectors to yield vectors or more points respectively
Affine
Preserving the geometry (line and parallelism) of objects (but not necessarily distances)
Linear interpolation between points
(1 - a)*P0 + a*P1
Parametric form of line
P0 + a*V
What’s so good about an affine space?
In an affine space, we can fix a particular reference point to represent all points unambiguously; This reference point is the origin of a coordinate system and together with three coordinate axes, allowing us to locate any point in 3D space defined by the system;
Dot product
Measures the alignment between two vectors; ∑(u_i * v_i) OR |u||v|cos(theta)
Cross product
Gets the vector n orthogonal to two vectors u and v
3D transformation matrix
| | 1×3 |
| 3×3 rotate, scale, reflect, shear | translation |
| ___________________________ | ___________ |
| 1 × 3 perspective TF | scaling |
Basis vectors
linearly independent vectors that can be used to many any vector in the vector space
Coordinate system pipeline
model space, world space, eye space, clip space, normalized device coords, screen space
Transformation pipeline
modeling, viewing, projection, perspective divide, viewport mapping
model space
the model’s coordinate system relative to its center/origin
modeling transform
transforms model space coords to world space coords
viewing transform
transforms world coords to eye/cam space coords
model-view transform
a combo of the modelling and viewing transforms
projection transform
Based on perspective type, field of view, aspect ratio, and near-far clipping planes, maps object from 3D space to 2D screen by projecting everything in visible view volume to canonical view volume
perspective divide
transforms clip space coords into normalized device coords
viewport mapping
transforms 3D normalized device coords into 2D screen space coordinates
homogenous coordinates
a projective coordinate system that allows affine transformations to be represented within one matrix