Computer Graphics Final

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

1/71

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.

72 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

ray tracing algorithm

  1. compute ray through current pixel

  2. check for intersection

  3. trace shadow rays to all ights

  4. compute illumination/shading

  5. if reflective, trace reflection ray

  6. if transparent, trace transmission/refraction ray

  7. combine into pixel value

  8. repeat

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

diffuse light is view ___

independent

11
New cards

specular light is view ___

dependent

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, black, 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

repeat spp times:

xoffset = RandomReal();

yoffset = RandomReal();

ray = camera->GetRay(x + xoffset, y + yoffset);

ray_color += RayColor(ray);

// end loop

ray_color/spp;

how to anti-alias using random sampling in code

34
New cards

same, opposite

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

35
New cards

dielectrics

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

36
New cards

snell’s law

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

37
New cards

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

how to determine total internal reflection

38
New cards

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

schlick approximation

39
New cards

schlick approximation

determines how much light is reflected

40
New cards

Beer’s law

shows exponential decay in light intensity through a medium

41
New cards

I(s) = I0as

Beer’s law

42
New cards

manifold tri-mesh

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

43
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)

44
New cards

counter-clockwise

how triangles should be oriented

45
New cards

indexed triangle set

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

46
New cards

triangle strips

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

47
New cards

triangle fan

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

48
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

49
New cards
  1. create empty mesh object

  2. add mesh vertices

  3. add mesh faces

process for building an OpenMesh cylinder

50
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

51
New cards

quick rejection

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

52
New cards

axis-aligned bounding boxes

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

53
New cards

uniform spatial subdivision

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

54
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

55
New cards

mailboxing

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

56
New cards

BVH trees

hierarchical bounding boxes

57
New cards

KD trees

similar to BVH tree, but driven by heuristics

58
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

59
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. rasterization

  5. screen space

  6. fragment shading

  7. z-buffer

transformations in the graphics pipeline

60
New cards

focal length

distance between the eye and view plane

61
New cards

far plane

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

62
New cards

world space → camera space

vertex shading is performed at the ___ transformation

63
New cards

MvpMorthPMcamMmod

matrix transformations in the graphics pipeline from world to screen space

64
New cards

Gouraud shading

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

65
New cards

phong shading

shading each pixel and then interpolating the vertex normals

66
New cards

camera space → projection space

clipping occurs in the ___ stage

67
New cards

clipping

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

68
New cards
  • glossy reflections

  • translucency

  • depth of field

  • motion blue

  • soft shadows

  • global illumination

monte carlo ray tracing allows for the implementation of…

69
New cards

monte carlo ray tracing

sends multiple rays over some distribution and takes their intersections

70
New cards

depth of field

the distance between the nearest and farthest objects in focus

71
New cards
  1. Scale shadow ray contribution by cosine of angle between surface normal and direction to specific light sample.

  2. Move light emitter farther from hit point --> less energy (flux) arrives at surface point

    • Weight each sample by 1/d² where d is the distance to the sample

  3. Recall that angled emitters causes less energy to meet certain hit points

    • To account: scale emitter's energy by dot product of (emitters normal) and (normalized direction to point) aka the area of the light source

steps to compute light from area light

72
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