CG ECSE-4750 Computer Graphics Final Exam, RPI, Thurs 2016-12-14

Name, RCSID:

.




.

Rules:

  1. You have 180 minutes.
  2. You may bring in two 2-sided 8.5"x11" papers with notes.
  3. You may not share material with each other during the exam.
  4. No collaboration or communication (except with the staff) is allowed.
  5. There are 25 questions. Check that your copy of this test has all the pages.

Questions:

  1. (2 pts) Put these graphics pipeline components in the correct order:

    1. fragment-shader
    2. primitive-assembly
    3. rasterizer
    4. vertex-shader
    .
    
    
    
    .
    
  2. (2 pts) Name an advantage and a disadvantage of standards.

    .
    
    
    
    
    
    
    
    
    
    .
    
  3. (2 pts) If you do not tell OpenGL to do hidden surface removal, and two objects overlap the same pixel, then what color is that pixel?

    1. OpenGL throws an error.
    2. the closer object
    3. the farther object
    4. the first object to be drawn there
    5. the last object to be drawn there
    .
    
    .
    
  4. (2 pts) Why can the following not possibly be a 3D Cartesian rotation matrix?

    \(\begin{pmatrix} 1& 0 &1\\1 & 0 &0\\0& 0 &1\end{pmatrix}\)

    .
    
    
    
    
    
    .
    
  5. (2 pts) What is the purpose of vPosition in this line of code?

    var vPositionjs = gl.getAttribLocation( program, "vPosition" );

    .
    
    
    
    
    
    
    
    
    .
    
  6. (2 pts) There is an aliasing problem when raytracing objects that are so small that one ray sent through the center of a pixel might go to the left of the object, and the next ray, through the center of the next pixel, go to its right. Give two ways to modify ray tracing to lessen this problem.

    .
    
    
    
    
    
    
    
    
    .
    
  7. (2 pts) Consider a 2D cubic Bezier curve with control points (0,0), (1,1), (2,2), (3,3). What is the point at t=0.5?

    .
    
    
    
    
    
    
    
    
    .
    
  8. (2 pts) Describe what the curve in the previous question looks like.

    .
    
    
    
    
    
    
    
    
    .
    
  9. (2 pts) Bezier curves do not generally go through the their control points, except for the first and last control points. It would be quite easy to design a curve fitting system so that the curve goes through all the control points. However the CAD community has decided that they don't want this. Why?

    .
    
    
    
    
    
    
    
    
    .
    
  10. (2 pts) When designing a curve with many control points, the CAD community has decided to use a sequence of low degree curves instead of one high degree curve. Give two reasons why.

    .
    
    
    
    
    
    
    
    
    .
    
  11. (2 pts) In a fragment shader, a sampler2D does something more than a simple array lookup like you have in most programming languages. What?

    .
    
    
    
    
    
    
    
    
    .
    
  12. (2 pts) Tell me about view normalization. What is it? What is good about it?

    .
    
    
    
    
    
    
    
    
    
    
    
    .
    
  13. (2 pts) Is ray tracing an object-space or an image-space algorithm?

    .
    
    
    
    
    .
    
  14. (2 pts) The last big update in the OpenGL standard removed many things from the standard. Name two things that we've discussed in class that we now have to implement ourselves if we wish to use.

    .
    
    
    
    
    
    
    
    
    .
    
  15. (2 pts) Give two reasons why OpenGl removed many things from the standard.

    .
    
    
    
    
    
    
    
    
    .
    
  16. (2 pts) What rotation does the quaternion k represent?

    .
    
    
    
    
    
    
    
    
    .
    
  17. (2 pts) Consider this 2D homogeneous point: (2,3,4). Translate it by 1 in the x direction. What is the resulting point, in a Cartesian representation?

    .
    
    
    
    
    
    
    
    
    .
    
  18. (2 pts) What is the 3x3 2D homogeneous matrix for a translation by 1 in the x direction?

    .
    
    
    
    
    
    
    
    
    .
    
  19. (2 pts) Here are two possible ways to calculate the color of each pixel of a curved triangle: 1) Compute the color at each vertex of the triangle, and then interpolate the color. 2) Compute the surface normals at the vertices, interpolate the normal at each pixel, and use that to compute the color.

    Method (2) produces more realistic lighting. Give one effect that it can render that (1) cannot.

    .
    
    
    
    
    
    
    
    
    .
    
  20. (2 pts) Describe what bump mapping is, and tell why it is useful.

    .
    
    
    
    
    
    
    
    
    .
    
  21. (2 pts) Compute the projection equations when the viewpoint is at (0,0,0) and the projection plane is 3x+2y+z=4. Use Cartesian coordinates. You do not need to put the result into a matrix form, but simplify your result as much as possible.

    .
    
    
    
    
    
    
    
    
    .
    
  22. (2 pts) Using homogeneous coordinates for spline control points gives the designer an extra tool. What happens to the curve when the designer changes the weight in a homogeneous control point?

    .
    
    
    
    
    
    
    
    
    .
    
  23. (2 pts) What is Constructive Solid Geometry?

    .
    
    
    
    
    
    
    
    
    .
    
  24. (2 pts) Why are the Bresenham line and circle drawing algorithms less useful now?

    .
    
    
    
    
    
    
    
    
    .
    
  25. (2 pts) What texture mapping problem does the mipmap solve?

    .
    
    
    
    
    
    
    
    
    .
    

End of final exam