Computer graphics revision

studied byStudied by 13 people
0.0(0)
Get a hint
Hint

Framebuffer

1 / 174

flashcard set

Earn XP

Description and Tags

for my personal revision

175 Terms

1

Framebuffer

An in-memory map of the display, one memory location per pixel.

New cards
2

Backface culling

A technique in computer graphics to increase rendering efficiency by only rendering the polygons facing towards the viewer.

New cards
3

Shading methods

Flat, Gouraud, Phong, Phong and Gouraud

New cards
4

Flat Shading

Uses polygon normals. It’s fast, and avoids interpolation

New cards
5

Gouraud Shading

Interpolates intensities between vertices. Basic shading, good for diffuse reflections. Cons: poor rending of highlights and specular reflections

New cards
6

Phong Shading

Interpolates normals. Pros: highest quality w/out volumetric rendering. Cons: 4-5 times slower than Gouraud.

New cards
7

Phong and Gouraud Shading

Uses Phong for surfaces with specular reflections (large ks), and uses Gouraud for diffuse surfaces (ks ~ 0)

New cards
8

Mocap def

Short for motion capture. A technique used to digitally record human movements for use in animation, video games, and virtual reality. Employed in various industries such as animation, video games, and virtual reality to capture and record human movements.

New cards
9

Rendering pipeline def

The sequence of stages that graphics data goes through to be displayed on a screen. It includes vertex processing, rasterization, fragment processing, and output.

New cards
10

Z-buffer algorithm

Used to determine screen locations of vertices. Is independent of model representation

New cards
11

Parallel projection versus Perspective projection

Parallel projection: Projection where lines remain parallel in the 3D space.

Perspective projection: Objects appear smaller with distance due to converging lines towards a vanishing point.

New cards
12

uses of normals in computer graphics

determine the direction a surface is facing, calculate lighting effects, and perform shading calculations.

New cards
13

Polygon Mesh

A collection of vertices, edges, and faces that define the shape of a 3D object. Properties include connectivity, topology, and geometry.

New cards
14

Oscilloscope

Device that shows you “different signals”

New cards
15

Raster display

Array of pixels

New cards
16

Image resolution

Density of points describing image

New cards
17

Properties of a pixel

Color, intensity

New cards
18

What is human color vision based on

Three ‘cone’ cell types, that respond to light energy in different bands of wavelengths

New cards
19

Subtractive color mixing

Cyan, Magenta, and Yellow (middle intersection is black)

New cards
20

Additive color mixing

Red, Green, Blue (middle intersection is white)

New cards
21

How is the frame buffer addressed and read?

It is addressed in any order (convenient), but is read out to hardware sequentially (efficient).

New cards
22

Cartesian coordinates have what and are limited by what?

They have infinite precision, and are limited by being drawn on a display with finite resolution.

New cards
23

Rasterization

Algorithm for converting infinite precision specification into pixels. (The conversion of ideal, mathematical graphic primitives onto raster displays)

New cards
24

How are pixels individually set or cleared?

Random access

New cards
25

Graphical objects and framebuffer: discrete or continuous?

Graphical objects are continuous, while framebuffer is discrete.

New cards
26

Steps in building an object

Primitives (basic shapes) → Object (shapes that are given coordinates on a plane, constructed in local coordinates) → Visual Attributes (render primitives with visual attributes)

New cards
27

2D Graphics render pipeline (complex to simple)

Modelling (static), Animation (dynamic), Visualisation (semantic, eg: visualization of thunderstorms, brain activity, etc..) → Curves, Surfaces, Volume, Material, Illumination → Points, Lines, Polygons, Normals, Colors → Pixel, RGBA

New cards
28

2D Graphics pipeline

  1. Model Scene

    1. Build objects from primitives

    2. Object constructed in local coordinates

    3. Object placed in world coordinates

  2. View Scene

    1. Specify area of a scene to view: window

    2. Specify area of display on which to view viewport

    3. Clip scene to window

    4. Map scene to window

    5. Can take output from several scenes

  3. Output (image we want to see)

    1. Rasterize vectors to pixels

    2. Rasterization works on primitives

    3. Attributes determine appearance

New cards
29

Coordinate types

  1. Local coordinates

    • Specify locations of primitive in object

    • Arbitrary units, chosen by modeller

  2. World coordinates

    • aka user coords

    • Specify location of objects in scene

    • Specify location of clipping window

    • Units depend on graphic API

  3. Device coordinates

    1. black = screen coordinates

    2. specify locations of viewports

    3. measured in real-time PHYSICAL units (eg pixels, mm)

New cards
30

How are pixel colors determined by

RGB values between 0 and 255

New cards
31

Examples of linear transformations

Rotation, Scaling, Shear, Mirroring

New cards
32

What are things rotated around?

The origin of the coordinate system

New cards
33

Scaling: what happens when you give equal or unequal entries on diagonal?

Equal entries give isotropic scaling, while unequal entries give anisotropic scaling

New cards
34

Affine transformations

Transformations that preserve lines and parallelism, but not necessarily euclidian distances/angles

New cards
35

3D Rotations by theta around the the z-axis

knowt flashcard image
New cards
36

3D Rotations by theta around the x-axis

knowt flashcard image
New cards
37

3D Rotations by theta around the y axis

knowt flashcard image
New cards
38

Start and end of vertex coordinates

  1. local

    • coords of objects relative to their local origin

  2. world

    • coords in respect of larger world

    • relative to some global origin of world

  3. view

    • coords as seen from camera/viewers POV

  4. clip

    • processed between -1 to 1 range, and determine which vertices will end up on scene

    • can add perspective

  5. screen

    • viewport transformed to screen coords

New cards
39

Aliasing

Is caused by undersampling (not taking enough discrete samples to capture a fast rate of change)

New cards
40

Super-Sampling Anti-Aliasing (SSAA)

Take many point samples per pixel, and assign grey level as the weighted average value. For example, a 2x SSAA will render 4 pixels per screen pixel, etc.

Results in smoother, nicer looking results. Ridiculously expensive, can lead to low performance and framerate. Sometimes implemented in hardware.

New cards
41

Multisample anti-aliasing (MSAA)

Faster processing by processing fragment shaders only once, and only supersampling depth and stencil buffers.

New cards
42

Fast approximate anti-aliasing (FXAA)

Pixel-level fast algorithm (implemented as fragment shader). Identify depth edges in the image. Smooth edges at a pixel level.

New cards
43

Anti-aliasing and Texture Maps: Compression

From texture space → to screen space. Several texels map to a single pixel. To avoid aliasing errors, texture images should be sampled many times to calculate pixels, but very expensive

New cards
44

Anti-aliasing and Texture Maps: Magnification

From texture space → to screen space. Single pixel lies within texel. Higher resolution texture map required.

New cards
45

MIP Mapping

Pre-calculated, optimized sequences of images. Approximate pre-image of pixels in texture space by a square of size 2n. Permits pre-calculation for anti-aliasing.

New cards
46

MIP Mapping: Precompute…

Subsampled copies of texture map for sizes 2n, 2n-1, … 1.

New cards
47

MIP Mapping: Select…

A texel from the appropriately sampled map. If surface is close to camera, use high resolution map. If surface is distant from camera, use low resolution map.

New cards
48

MIP Mapping: Linear interpolation…

Is done between levels and improves quality

New cards
49

MIP Mapping: Cost…

is constant per pixel

New cards
50

MIP Mapping with OpenGL

MIP mapping is enabled in OpenGL by calling glGenerateMipmap(GL TEXTURE 2D); and selecting one of the mipmap filtering modes:

  • GL_NEAREST_MIPMAP_NEAREST (selects the closest mipmap and the closest texel)

  • GL_LINEAR_MIPMAP_NEAREST (selects the closest mipmap and interpolates nearest texels)

  • GL_NEAREST_MIPMAP_LINEAR (uses the two closest mipmaps and uses)

  • GL_NEAREST on each and average them.

    • GL_LINEAR_MIPMAP_LINEAR (selects the two closest mipmaps, uses GL_LINEAR on them and average the result)

New cards
51

Bilinear filtering, Trilinear filtering

Ways to filter in MIP Mapping

New cards
52

Bilinear filtering

Approximates pixel values from pixels around it

New cards
53

Trilinear filtering

Extension of bilinear filtering, which also performs linear interpolation between levels of MIPmaps

New cards
54

Anisotropic filtering

A method of enhancing image quality of textures on surfaces of computer graphics that are at oblique viewing angles with respect to the camera.

A solution to blurring on surfaces at oblique viewing angle.

New cards
55

Anti-aliasing in methods Computer Graphics

Area sampling, super-sampling, MIP mapping

New cards
56

Anti-aliasing filtering

Low-pass filtering, convolution with smoothing filter function: weighted average

New cards
57

FULL Rendering pipeline

Vertex Specification → Vertex Shader → Tessellation → Geometry Shader → Vertex Post-Processing → Primitive Assembly → Rasterization → Fragment Shader → Per-Sample Operations

New cards
58

In OpenGL’s rendering pipeline, what are the programmable stages called?

Shaders, and they can be programmed in C-like language called GL Shading Language (GLSL)

New cards
59

What do vertex shaders do?

Perform basic processing of individual vertices in the scene (eg: viewpoint transformation)

New cards
60

Fragment shaders

Process fragments generated by the rasterization

New cards
61

Vertex locations

Where texture coordinate information is stored

New cards
62

Barycentric Interpolation

A method of linear interpolation for a fragment’s texture coordinates

<p>A method of linear interpolation for a fragment’s texture coordinates</p>
New cards
63

Linear Interpolation using Barycentric Coordinates

A property value at any point x can be interpolated from the values at vertices A, A, A:

f(P) = t1f(A1) + t2f(A2) + t3f(A3)

t1, t2, t3 represent the area ratios of the sub-triangle, ie: t1 = (area[T(P, A2, A3)]) / (area[T(A1, A2, A3)]), hence inside the triangle is 0 <= ti <= 1, we have t1 + t2 + t3 = 1

The area ratios (the ts) can be computed easily. First, remember that the area of the parallelogram formed by two vectors is given by the norm of the cross-product between those vectors. A triangle is half this parallelogram, hence: area[T(A1, A2, A3) = ½ || A2A1 x A2P ||, hence t3 = (area[T(P, A2, A3)]) / (area[T(A1, A2, A3)]) = || A2A1 x A2P || / || A2A1 x A3A1 ||

New cards
64

Radiosity

Energy per unit area leaving a patch per unit time. Invariant to viewpoint changes, it is view-independent

New cards
65

Meshing

The process of dividing a scene into patches. Meshing artifacts are scene dependent.

New cards
66

Idea of adaptive meshing

To re-compute the mesh a part of radiosity calculation

New cards
67

Light paths notation

L: light source

E: eye

D: diffuse reflection

S: specular reflection or refraction

<p>L: light source</p><p>E: eye</p><p>D: diffuse reflection</p><p>S: specular reflection or refraction</p>
New cards
68

What paths are considered in Whitted Ray Tracing

LS*E and LDS*E

New cards
69

Characteristics of Whitted Ray Tracing

  • Captures specular-specular interaction

  • Diffuse reflection only for direct light rays

    • LSDE, LDDE, LSSDE are not considered

  • Only perfect specular reflections

    • Hard shadows

New cards
70

Path tracing

An extension of ray tracing proposed by Kajiya in 1986. Uses multiple rays per fragment pixel instead of single ray. At each object, makes a “smart” decision how to continue tracing.

New cards
71

Double buffering

A technique using two frame buffers to prevent screen flickering during rendering.

New cards
72

Similarities between Path Tracing and Ray Tracing

Both use backward tracing and are view-dependent algorithms

New cards
73

Light ray

Aka shadow ray- for direct diffuse reflection. Ray from the point to the light source. Way to check if object will create a shadow.

New cards
74

What step is Vertex Processing in the rendering pipeline

The first step of the rendering pipeline

New cards
75

In the rendering pipeline, what is vertex processing, and what does it entail

This initial stage involves manipulating the vertices of 3D objects to convert them into 2D coordinates on the screen. Tasks such as transformations, lighting calculations, and culling are performed here.

New cards
76

In the rendering pipeline, what is rasterization and what does it entail

It is the second step in the rendering pipeline. After the vertices are processed in vertex processing, the 2D primitives are generated from the processed vertices. These primitives are then broken down into pixels to be colored.

New cards
77

In the rendering pipeline, what is fragment processing and what does it entail

Happens after rasterization, once the pixels are determined. This stage involves determining the final color of each pixel based on factors such as textures, lighting, and shading.

New cards
78

In the rendering pipeline, what is output and what does it entail

Finally, after fragment processing, the processed pixels are sent to the display for rendering. This stage involves blending the pixels together to create the final image that is presented to the user.

New cards
79

What step is Rasterization in the rendering pipeline

The second step of the rendering process

New cards
80

What step is Fragment processing in the rendering pipeline

The third step of the rendering pipeline

New cards
81

What step is Output in the rendering pipeline

The fourth step of the rendering pipeline

New cards
82

What does mocap involve

It involves tracking the movements of actors or performers wearing special markers or sensors (reflective markers), which are then translated into digital data. A marker’s position is estimated by triangulating from all camera views. Finally, the skeleton is animated according to recorded motion.

New cards
83

What does mocap bring and allow

Brings a level of realism and authenticity to animated characters and virtual environments that would be challenging to achieve through traditional animation methods. Allows for more natural and fluid movements in animations.

New cards
84

Radiosity light path

LD*E (models diffuse-to-diffuse interactions)

New cards
85

Radiosity x area should be sum of..

emitted energy and reflected energy

New cards
86

Radiosity formula

BidAi = EidAi + RijBjFjidAj

<p>B<sub>i</sub>dA<sub>i</sub> = E<sub>i</sub>dA<sub>i</sub> + R<sub>i</sub>∑<sub>j</sub>B<sub>j</sub>F<sub>ji</sub>dA<sub>j</sub></p>
New cards
87

Global illumination

Considers all interactions of light with the scene, lighting directly from the light sources, and indirect lighting. Starts from all points of all light sources, and follows every ray of light as it travels through the scene.

New cards
88

Hemicube

Solution to the fact that direct computation of approximate form factors equation is expensive to compute. Divided into small “pixel” areas and form factors are computed for each.

New cards
89

How so solve occlusion problem

Ray tracing (does it neatly)

New cards
90

Convex hull property of Bezier curves

Bezier curves will be contained inside convex hull of control points

New cards
91

When rendering a scene with transparent objects, which algorithm is a better choice? Painters or Z-buffer?

Painters

New cards
92

Painters algorithm

An algorithm for visible surface determination in 3D computer graphics that works on a polygon-by-polygon basis rather than a pixel-by-pixel, row by row, or area by area basis of other Hidden-Surface Removal algorithms.

(Just like an artist paints, who starts their painting with an empty canvas, the first thing the artist will do is to create a background layer for the painting, after this layer they start creating other layers of objects one-by-one. In this way he completes his painting, by covering the previous layer partially or fully according to the requirement of the painting.)

New cards
93

Shadow mapping

New cards
94

Bump mapping

Simulates height variations by adjusting directions of surface normals

New cards
95

Heightmap (elevation map)

A texture provided to shader hat defines for each pixel on the model’s surface how far from the polygonal mesh’s surface it should lie.

New cards
96

Steps to developing heightmap:

  1. Look up the heightmap for the current surface position (implemented as texture lookup)

  2. Calculate surface normal perturbation at this location from the heightmap

  3. Combine the calculated normal with the original one

  4. Calculate illumination for the new normal using a standard shading

New cards
97

Bump mapping limitation

Silhouettes and shadows remain unaffected

New cards
98

Direct shadow methods

Shadow volumes, shadow maps

New cards
99

Indirect shadow methods

Raytracing, radiosity, photon mapping

New cards
100

Shadow volumes

Determine volumes which are created by shadows. A point is in the shadow if it is in the volume

<p>Determine volumes which are created by shadows. A point is in the shadow if it is in the volume</p>
New cards

Explore top notes

note Note
studied byStudied by 23 people
Updated ... ago
5.0 Stars(2)
note Note
studied byStudied by 41 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 11 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 46 people
Updated ... ago
4.0 Stars(1)
note Note
studied byStudied by 91 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 9 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 26 people
Updated ... ago
5.0 Stars(1)
note Note
studied byStudied by 30060 people
Updated ... ago
4.4 Stars(24)

Explore top flashcards

flashcards Flashcard36 terms
studied byStudied by 9 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard117 terms
studied byStudied by 66 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard27 terms
studied byStudied by 16 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard103 terms
studied byStudied by 16 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard47 terms
studied byStudied by 7 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard29 terms
studied byStudied by 15 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard46 terms
studied byStudied by 4 people
Updated ... ago
5.0 Stars(1)
flashcards Flashcard40 terms
studied byStudied by 65 people
Updated ... ago
5.0 Stars(1)