Computer Graphics Final

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/85

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

86 Terms

1
New cards

ray tracing

rendering model that uses rays emitted by scene objects to identify visibility, lighting, and shading

2
New cards

pipeline rendering

an object-oriented approach to rendering that iterates through scene objects and calculates the shading of each

3
New cards

bayer filter

filters RGB to identify how much light passes through some section of a scene

4
New cards

gamma correction

adjusting stored pixel values to account for display intensity differences

5
New cards

ray tracing PROS

intuitive for visibility

allows for easy shading, refraction/reflection, multiple light sources, etc.

realistic

6
New cards

ray tracing CONS

slow

not good for some complex reflections/lighting effects

7
New cards
  1. compute ray through current pixel

  2. check for intersection

  3. trace shadow rays to all lights

  4. compute illumination/shading

  5. if reflective, trace reflection ray

  6. if transparent, trace transmission/refraction ray

  7. combine into pixel value

  8. repeat

ray tracing algorithm

8
New cards

specular light

reflected light that produces the highlights we see on shiny objects

9
New cards

diffuse light

light scattered uniformly in all directions —> preserves surface color

10
New cards

independent

diffuse light is view ___

11
New cards

dependent

specular light is view ___

12
New cards

ray equation

r(t) = pr + tdr

13
New cards

plane equation

p \dot n = d

14
New cards

solving for t in ray-plane intersection

t = (d - pr \dot n) / (dr \dot n)

15
New cards

sphere equation

|| p - O ||2 - r2 = 0

16
New cards

solving for t in ray-triangle intersection

t = ( (a-p) \dot n ) / (d \dot n)

where a is any point on plane

17
New cards

Algorithm for using barycentric coordinates in ray-triangle intersection

  1. Compute u and v

    • u = b - a

    • v = c - a

  2. Set up the initial matrix

    • [ u v -dr ] [beta \\ gamma \\ alpha] = [pr - a]

    • calculate the determinant (DET) of the first matrix above

  3. Use Cramer’s rule to solve for beta, gamma

    • gamma = det(u, pr - a, -dr) / DET

    • beta = det(pr - a, v, -dr) / DET

    • t = det(u, v, pr - a) / DET

18
New cards

radiant energy (Q)

energy of electromagnetic radiation

19
New cards

radiant flux/power

radiant energy per unit time

20
New cards

irradiance (E)

radiant flux received by a surface per unit area

21
New cards

E = P/4pir2

irradiance for a sphere

22
New cards

inversely, distance, angle of incidence, cosine

irradiance is…

  • ____ proportional to square of ___

  • affected by ____ as demonstrated by the ___ rule

23
New cards

radiance (L)

radiant flux emitted, reflected, transmitted, or received by a surface, per unit solid angle per unit projected area

24
New cards

I = P/4pi

radiant intensity

25
New cards

E = I cos theta / r2

irradiance from a point light

26
New cards

Ld = kdE

how to compute diffuse shading with irradiance

27
New cards

Ls = ksE max(0, cos alpha)p

how to compute specular shading with irradiance

28
New cards

La = kaIa

how to compute ambient light shading with radiant intensity

29
New cards

away, background, greater, 0, 1, || l - P ||

when tracing shadows…

  • start the ray slightly ___ from the surface to avoid spots

  • if the point light is not visible, return ___ color

  • start tmin slightly ___ than ___

  • if the shadow ray is normalized, set tmax to ___

  • else set tmax to __

30
New cards
  • increasing samples

  • random sampling

  • jittered samples

  • adaptive sampling

methods for anti-aliasing

31
New cards

random sampling

sampling at non-uniform places in a pixel to reduce aliasing

32
New cards

jittered samples

diving the pixel into a grid and sampling random spots within the grid cells

33
New cards

same, opposite

when a ray intersects with a reflective surface, we compute reflection ray at the ___ angle in the ___ direction

34
New cards

dielectrics

materials that do not conduct electricity (e.g. glass)

35
New cards

snell’s law

describes how light bends as it moves through mediums (e.g. air to glass)

36
New cards

fresnel equations; use the cosine rules to convert snell’s law and solve for cos phi. if the value under the square root is negative, there is total internal reflection

how to determine total internal reflection

37
New cards

R(theta) = R0 + (1 - R0)(1 - cos theta)5 with R0 = ((nt - n)/(nt + n))2

schlick approximation

38
New cards

schlick approximation

determines how much light is reflected

39
New cards

Beer’s law

shows exponential decay in light intensity through a medium

40
New cards

I(s) = I0as

Beer’s law

41
New cards

manifold tri-mesh

a mesh where every edge is shared by exactly 2 triangles and can be laid flat

42
New cards

manifold tri-mesh with boundaries

a mesh where every edge is used by either one or two triangles and every vertex connects to a single-edge connected set of triangles (e.g. all triangles are connected)

43
New cards

counter-clockwise

how triangles should be oriented

44
New cards

indexed triangle set

stores each triangle once; uses vertex and position arrays to store vertices and coordinates, respectively t

45
New cards

triangle strips

created by reusing the 2nd and 3rd vertices when defining a new triangle

46
New cards

triangle fan

created by using the first triangle vertex as the origin for all new triangles

47
New cards

triangle neighbor structure

extension of triangle set; uses a triangle object to point to 3 neighboring vertices and a vertex object to point to a neighboring triangle

48
New cards
  1. create empty mesh object

  2. add mesh vertices

  3. add mesh faces

process for building an OpenMesh cylinder

49
New cards
  1. mesh→request_face_normals()

  2. for each face

    1. create new FaceNormal object face_normal

    2. mesh→set_normal(*fit, face_normal)

process for computing face normals

50
New cards

quick rejection

if a ray does not hit within a bound, move on. else, check if it has an object

51
New cards

axis-aligned bounding boxes

boxes aligned with x, y, z coordinates, framing objects

52
New cards

uniform spatial subdivision

using grids to break down a scene; if cells are empty, we do not check for ray-intersection

53
New cards
  1. allocate a grid as a single block of pointers with one for each cell

  2. if a cell is empty, pointer = 0

  3. if a cell has objects in it, point to a list of the objects

uniform grid set-up

54
New cards

mailboxing

storing a ray hit into a different cell with the ray id for later consideration

55
New cards

BVH trees

hierarchical bounding boxes

56
New cards

KD trees

similar to BVH tree, but driven by heuristics

57
New cards

binary space partitioning trees

allows your to determine visibility ordering of scene objects without changing the viewpoint by using non-axis-aligned splitting planes

58
New cards
  1. modeling: object space → world space

  2. camera: world space → camera space

    1. vertex shading

  3. projection: camera space → canonical view volume

    1. clipping

  4. screen space

  5. rasterization / z-buffer

  6. fragment shading

transformations in the graphics pipeline

59
New cards

focal length

distance between the eye and view plane

60
New cards

far plane

bounds the max distance that an object can be seen from the eye

61
New cards

world space → camera space

vertex shading is performed at the ___ transformation

62
New cards

MvpMorthPMcamMmod

matrix transformations in the graphics pipeline from world to screen space

63
New cards

Gouraud shading

computing the shading at each pixel during rasterization, then linearly interpolating the colors of the remaining pixelsp

64
New cards

phong shading

shading each pixel and then interpolating the vertex normals

65
New cards

camera space → projection space

clipping occurs in the ___ stage

66
New cards

clipping

process by which primitives outside the camera are either discarded or altered

67
New cards
  • glossy reflections

  • translucency

  • depth of field

  • motion blue

  • soft shadows

  • global illumination

monte carlo ray tracing allows for the implementation of…

68
New cards

monte carlo ray tracing

sends multiple rays over some distribution and takes their intersections

69
New cards

depth of field

the distance between the nearest and farthest objects in focus

70
New cards
  1. Sample area light by sending shadow rays to random points on light

  2. Scale shadow ray contribution by cos theta, where theta is the angle between the surface normal and direction to specific light sample.

  3. Scale each sample by 1/d² where d is the distance to the sample and cos alpha, where alpha is the angle between the light’s normal and the direction towards the point on light

  4. Scale energy contribution of each shadow ray by area of light source

steps to compute light from area light

71
New cards

bidirectional reflection distribution function (BRDF)

reflectance as a function of viewer and light source directions with respect to normal; shows how much light goes in each direction as it leaves a surface

72
New cards

vertex buffer object

located on GPU; stores vertex attributes (e.g. position, color)

73
New cards

vertex array object

stores VBOs

74
New cards

homogeneous coordinates

adding another dimension to the matrix to combine the translation with the other linear transformations

75
New cards

if the pixel’s center is inside the triangle, draw it. if the center is right on the edge of the triangle, choose an off-screen point to discriminate. draw the pixel for the triangle where the off-screen point is on the same side as the triangle

process for rasterizing triangles

76
New cards

y’ = focal_length / distance_from_eye_to_obj * y

how to compute the height of an object on the view plane

77
New cards

projective transformation to far plane

78
New cards

projective transformation to view plane

79
New cards

viewport transformation matrix

transforms an object from a canonical view volume to the screen; maps image properly to screen dimensions

<p>transforms an object from a canonical view volume to the screen; maps image properly to screen dimensions</p>
80
New cards

camera transformation

moves camera from position in world space to a convenient location and orientation. also transforms other elements to match.

<p>moves camera from position in world space to a convenient location and orientation.  also transforms other elements to match.</p>
81
New cards

orthographic view transformation

transforms points from orthographic view volume (e.g. AABB) to canonical view volume; ensures all visible points fit in desired range

<p>transforms points from orthographic view volume (e.g. AABB) to canonical view volume; ensures all visible points fit in desired range </p>
82
New cards

flat shading

each mesh face has 1 normal, creating a blocky appearance

83
New cards

smooth shading

mesh faces’ vertex normals are interpolated, making the mesh appear smooth

84
New cards

vertex shading

occurs in world to camera transformation; process of performing the lighting calculation at a point in the scene (usually vertex) and then (later) linearly interpolating them

85
New cards

fragment shading

occurs after rasterization; computes shading by using interpolated vectors to avoid the interpolation of vertices; enables texture mapping

86
New cards

culling

identifying and throwing away invisible geometry to minimize processing time