W Randolph Franklin home page
... (old version)
ComputerGraphicsFall2014/ home page Login


ECSE-4750 Computer Graphics, Rensselaer Polytechnic Institute, Midterm Exam, Fall 2014, 9 Oct 2014 4-5:30

ANSWERS

 


NAME: ________WRF EMAIL:___ ________ RIN:______________



There are six pages with 25 questions, each worth 2 points. Answer every question but 2. You may write FREE as the answer for two questions (and get the 2 points each).

This exam is closed book: you may use calculators and one 2-sided letter-size note sheet that you brought with you. You may not use computers or communication devices, or share material with other students.

  

  1. _____/(2 points) What display technology uses the fact that you see color with less precision than you see brightness?
    Color TV using NTSC (and also other color video standards).
  2. _____/2 Processing objects 1-by-1 with a graphics pipeline has a major advantage and also a major disadvantage. Name them.
    You can process objects in parallel, for a large speedup. However objects cannot interact with each other, e.g., as ray tracing does.
  3. _____/2 You call gl.BufferSubData to do what?
    It updates (replaces) part of an array, such as a vertex or color array, in the GPU.
  4. _____/2 Why does OpenGL contain primitives, like triangle fans, that are not necessary (since you could draw the triangles separately)?
    By reusing vertices, they take less space and so less data needs to be copied, and things often run faster.
  5. _____/2 Why do we consider color to have three dimensions, such as RGB? There are an infinite number of visible wavelengths.
    Your (if you're a typical human) eyes have three types of color receptors (cones).
  6. _____/2 What is the event loop?
    In the system, it waits for an event, such as user input or a graphics state change (like window resize), then calls a user-defined callback function (if provided), which returns to the event loop to wait for the next event.
  7. _____/2 Use the vector formulation or your intuition to rotate the point (0,0,2) by 180 degrees about the axis (1,0,0).
    (0,0,-2)
  8. ____/2 You see the expression flatten(points) often in Javascript programs. What does flatten do?
    It reduces the Javascript array, which contains extra info, to simply a string of floats (or whatever type).
  9. ____/2 What feature in OpenGL is used to display the closest object when several objects overlap the same pixel?
    The depth (aka Z) buffer.
  10. ____/2 What's the point of using two color buffers, one to draw into, while the other is being displayed?
    When the D/A converter wants to read the color buffer to display it, it may be only half formed, and so will look bad. With two buffers, you can write into one, while displaying from the other.
  11. ____/2 Give the 4x4 homogeneous 3D matrix for a uniform scale by a factor of 2 followed by a translation by (0,0,3).
    {$ M = \begin{pmatrix} 2&0&0&0\\ 0&2&0&0 \\ 0&0&2&3 \\ 0&0&0&1 \end{pmatrix} $}
  12. _____/2 What's the quaternion representing a rotation of 360 degrees about the axis (1,0,0)?
    That's the identity, so q=1.
  13. _____/2 What does this statement do? gl.uniform1f(thetaLoc, theta); Also say what theta and thetaLoc are.
    It copies a value from the Javascript variable theta into the uniform shader variable whose location is in thetaLoc.
  14. _____/2 When rendering a triangle, you are given various properties at each vertex, and then need to interpolate them at each pixel inside the triangle. One such property is position. Name two other properties.
    color, surface normal.
  15. _____/2 Here is a 3D homogeneous point: (1,2,3,1). What Cartesian point does it correspond to?
    (1,2,3).
  16. _____/2 In shaders, what is a uniform variable?
    It's a variable that has the same variable for every vertex and fragment. E.g., the location of the light source.
  17. _____/2 What are the four major components of the OpenGl model as discussed in class?
    objects, viewers, lights, material properties.
  18. _____/2 When using a pipeline to clip a 3D object, how many stages can be used?
    6.
  19. _____/2 For the default OpenGL camera, where is it and in what direction does it look?
    At the origin, looking down the negative Z axis.
  20. _____/2 What is the use of the CIE chromaticity diagram?
    To compute what perceived color results from mixing two or more colors.
  21. _____/2 If i and j are quaternions, simplify i+j as much as possible.
    i+j.
  22. _____/2 The parametric equation for the plane through the points (1,0,0), (0,1,0), (0,0,0) is:
    z=0.
  23. _____/2 If a 3x3 rotation matrix has eigenvalues {$1, \frac{1}{2}+\frac{\sqrt{3}}{2}i, \frac{1}{2}-\frac{\sqrt{3}}{2}i $}, then what is the cosine of the rotation angle?
    1/2.
  24. _____/2 This is a homogeneous 3D translation matrix: {$\begin{pmatrix} 2&0&0&2\\ 0&2&0&3\\0&0&2&4\\ 0&0&0&2 \end{pmatrix} $}. Use it to translate the homogeneous point (2,2,2,2) and tell me the Cartesian equivalent of the result.
    (2, 2 1/2, 3).
  25. _____/2 In the OpenGL pipeline, the Primitive Assembler does what?
    Creates lines, triangles, etc., from their vertices, and outputs all the fragments in them.

end of exam