CG Homework 11, due Mon 2018-12-03 2359

  1. (2 pts) Computing the effect of light reflecting off of one diffuse surface onto the other surfaces in the scene is called:

    1. Bitblt
    2. Bump mapping
    3. Environment mapping
    4. Radiosity
    5. Texture mapping
  2. (2 pts) Painting a image onto a face to simulate fine detail is called:

    1. Bitblt
    2. Bump mapping
    3. Environment mapping
    4. Radiosity
    5. Texture mapping
  3. (2 pts) Pretending to alter the normal vectors to the surface during rendering is called:

    1. Bitblt
    2. Bump mapping
    3. Environment mapping
    4. Radiosity
    5. Texture mapping
  4. (2 pts) Quickly copying blocks of pixels from one buffer to another is called:

    1. Bitblt
    2. Bump mapping
    3. Environment mapping
    4. Radiosity
    5. Texture mapping
  5. (2 pts) Reflecting the objects around a shiny object onto its surface is called:

    1. Bitblt
    2. Bump mapping
    3. Environment mapping
    4. Radiosity
    5. Texture mapping

    Answer: slides 9_3.

  6. (2 pts) Several coordinate systems are typically used in texture mapping. Which one may be used to model curves and surfaces?

    1. Lagrangian coordinates
    2. Object or World Coordinates
    3. Parametric coordinates
    4. Texture coordinates
    5. Window Coordinates
  7. (2 pts) Which one is used to identify points in the image to be mapped?

    1. Lagrangian coordinates
    2. Object or World Coordinates
    3. Parametric coordinates
    4. Texture coordinates
    5. Window Coordinates
  8. (2 pts) Which one is conceptually, where the mapping takes place?

    1. Lagrangian coordinates
    2. Object or World Coordinates
    3. Parametric coordinates
    4. Texture coordinates
    5. Window Coordinates
  9. (2 pts) Which one is where the final image is really produced?

    1. Lagrangian coordinates
    2. Object or World Coordinates
    3. Parametric coordinates
    4. Texture coordinates
    5. Window Coordinates

    Answers: slide 9_4_5.

  10. (2 pts) Mathematically, the aliasing problem in CG

    1. happens when high frequency signals are not sampled often enough.
    2. happens when low frequency signals are sampled too often.
    3. is a new problem that did not occur with the old displays.
    4. can be reduced by subsampling and averaging
    5. both 1 and 4.
  11. (2 pts) When you add many images together to blend them, there may be problems: (10_3)

    1. Loss of accuracy if each color has only 8 bits.
    2. You can't do this at all in WebGL.
    3. This requires using a color buffer of at least 4096x4096.
    4. This requires a stencil buffer.
    5. This requires that the A component be set to 0.0.
  12. (2 pts) Fog has been removed from OpenGL, and is not in WebGL, because: (10_3)

    1. The several possible fog factors (linear, exponential, gaussian) were too confusing.
    2. With cleaner air, we no longer want to model smog.
    3. It executed too slowly.
    4. Removing it simplified the standard, and anyway you can implement it yourself.
    5. It wasn't removed; it's still part of WebGL.
  13. (2 pts) What does sampler2D do? (10_4)

    1. Return a sample random variable from a probability distribution.
    2. Return one specific texel from a texture map.
    3. Return a point on a bezier curve by interpolating control points.
    4. Interpoint a texture value from nearby texels.
    5. Compute a phong-shaded color.
  14. (2 pts) Rendering a scene by computing which pixels are colored by each object is called (12_5)

    1. Image space approach
    2. Modelview space approach
    3. Object space approach
    4. Pixel space approach
    5. Viewport space approach
  15. (2 pts) Rendering a scene by computing which objects are behind each pixel is called (12_5)

    1. Image space approach
    2. Modelview space approach
    3. Object space approach
    4. Pixel space approach
    5. Viewport space approach
  16. (2 pts) Cohen-Sutherland clipping (13_1)

    1. Clips faces fast by doing concave faces properly.
    2. Clips faces fast by normalizing the projection first.
    3. Clips lines fast by eliminating many simple cases quickly.
    4. Clips lines fast by using the fact the current CPUs do division fast.
    5. Clips textures fast with a mipmap.
  17. (2 pts) View normalization (13_1)

    1. Makes the clip region into a cube but changes object cubes into parallelepipeds.
    2. Preserves angles and distances.
    3. Preserves angles but not distances.
    4. Preserves distances but not angles.
    5. Was obsoleted by fast CPUs.
  18. (2 pts) About polygon clipping: (13_2)

    1. A polygon might gain vertices.
    2. A polygon might gain area.
    3. If a polygon's vertices are all outside the clip region, then it may be deleted.
    4. Using a 6-stage pipeline keeps the latency the same.
    5. Concave polygons become convex.
  19. (2 pts) From his profits from SGI, Netscape, and other startups, Jim Clark bought the world's XXX largest yacht.

    1. 1st
    2. 2nd
    3. 3rd
    4. 4th
    5. 5th
  20. (2 pts) Which hidden surface algorithm sorts objects back-to-front? (13_2)

    1. BSP tree
    2. depth (Z) buffer
    3. image space
    4. painter's
    5. scan line
  21. (2 pts) Which hidden surface algorithm preprocesses objects into a tree so that you can change the viewpoint and then render by traversing the tree in a different order? (13_2)

    1. BSP tree
    2. depth (Z) buffer
    3. image space
    4. painter's
    5. scan line
  22. (2 pts) Which hidden surface algorithm might send its output straight to a display like a CRT w/o ever storing the whole image? (13_2)

    1. BSP tree
    2. depth (Z) buffer
    3. image space
    4. painter's
    5. scan line
  23. (2 pts) Some colors that you can see on your display cannot be printed, and vv. Why? (13_4)

    1. Purple is not a pure spectral color.
    2. The UV emitted by the display fades the printer paper.
    3. The display and printer's gamuts don't match.
    4. The printer has 4 inks but the display only 3 primaries.
    5. There's no such thing as a standard display - different manufacturers have different notions of red.
  24. (2 pts) What is happening in the following code that is part of a picking program that we saw (11_4):

    if(i==0) gl_FragColor = c[0];
      else if(i==1) gl_FragColor = c[1];
      else if(i==2) gl_FragColor = c[2];
      else if(i==3) gl_FragColor = c[3];
      else if(i==4) gl_FragColor = c[4];
      else if(i==5) gl_FragColor = c[5];
      else if(i==6) gl_FragColor = c[6];
    
    1. This assigns to each pixel the number that we'd like returned if the user clicks on that pixel.
    2. This assigns to each pixel the true color of that polygon.
    3. This keeps track of how many times the user clicked on that pixel.
    4. This notes how many vertices that polygon has.
    5. This notes the shininess exponent for that face.
  25. (2 pts) Radiosity is better than ray tracing when the scene is all

    1. diffuse objects
    2. objects outside the viewing region
    3. objects that are very close to the viewpoint
    4. specular objects
    5. very small objects
  26. (2 pts) Ray tracing is better than radiosity when the scene is all

    1. diffuse objects
    2. objects outside the viewing region
    3. objects that are very close to the viewpoint
    4. specular objects
    5. very small objects
  27. (2 pts) Firing multiple rays through each pixel handles the problem of

    1. diffuse objects
    2. objects outside the viewing region
    3. objects that are very close to the viewpoint
    4. specular objects
    5. very small objects
  28. (2 pts) Consider a 2D Cartesian cubic Bezier curve with these control points: (0,0), (0,1), (1,1), (1,0). What is the point at t=0? OK to look up the formula.

    1. (0,0)
    2. (0,1)
    3. (1,0)
    4. (1/2, 3/4)
    5. (1/2,1)
  29. (2 pts) What is the point at t=1/2?

    1. (0,0)
    2. (0,1)
    3. (1,0)
    4. (1/2, 3/4)
    5. (1/2,1)
  30. (2 pts) What is the point at t=1?

    1. (0,0)
    2. (0,1)
    3. (1,0)
    4. (1/2, 3/4)
    5. (1/2,1)
  31. (2 pts) If you interpolate a curve through a list of control points instead of approximating a curve near the points, then what happens?

    1. It will not be possible to join two curves and match the radii of curvature.
    2. The calculations to compute the curve will take impossibly long.
    3. The curve will stay within the convex hull of the control points.
    4. The curve will swing outside the convex hull of the control points.
    5. This isn't possible for curves of odd degree.
  32. (2 pts) If you use quadratic Bezier curves, then what happens?

    1. It will not be possible to join two curves and match the radii of curvature.
    2. The calculations to compute the curve will take impossibly long.
    3. The curve will stay within the convex hull of the control points.
    4. The curve will swing outside the convex hull of the control points.
    5. This isn't possible for curves of even degree.

(Total: 64 points.)