NAME: ____________________________________

EMAIL:______________________ RIN:______________

Rensselaer Polytechnic Institute, Troy NY USA
ECSE-4750 Computer Graphics Fall 2007
Midterm Exam, 11 Oct 2007 2-3:20

Answer every question. All questions have equal weight. There are 31 questions.

This exam is open book: you may use any paper books and notes that bring with you. You may not use computers or communication devices, or share material with other students.

1. _____/1 What do the contrasting stories of the Brooklyn Bridge and the Quebec Bridge teach us?

2. _____/2 Processing objects 1-by-1 with a graphics pipeline has a major advantage and also a major disadvantage. Name them.

3. _____/1 What is the name of the operation to remove objects that are outside the view volume?

4. _____/1 Does a circle always remain a circle after perspective projection? Give a reason; not just yes/no.

5. _____/1 Why do we want to make translation into a matrix multiplication?

6. _____/1 Why does OpenGL contain primitives, like triangle strips, that are not necessary (since you could draw the triangles separately)?

7. _____/1 Why do we consider color to have three dimensions, such as RGB? There are an infinite number of visible wavelengths.

8. _____/1 With additive color, the phosphors can emit reasonably saturated colors. However, with subtractive color, the inks always reflect a broad range of colors; never only a narrow band. Even if it were possible to manufacture a saturated ink, it would not be used. Why?

9. _____/1 An important part of any design is deciding what to omit. Name something that OpenGL chose not to include that is necessary for graphics. That is, it must be implemented somewhere else in the OS. It is something included in many competing graphics systems. (There is more than one right answer; anything reasonable is ok).

10. _____/1 What is the event loop?

11. _____/1 What does this do:
glClear(GL_COLOR_BUFFER_BIT);

12. _____/1 Why does OpenGL not allow you to give it a concave polygon?

13. _____/1 What does GL_FLAT mean? In other words, what is flat shading and how do you specify the colors?

14. _____/1 If you don't want to use the entire window for your image, what subroutine do you call?

15. _____/1 What does this do:
glMatrixMode(GL_MODELVIEW);

16. ____/1 Since the mydisplay routine takes no arguments, how do you get data from the main program to it?

17. _____/1 What's the quaternion representing a rotation of 180 degrees about the axis (0,0,1)?

18. _____/2 Use the quaternion formulation to rotate the point (1,0,0) by 180 degrees about the axis (0,0,1).

19. _____/2 Use the vector formulation to rotate the point (1,0,0) by 180 degrees about the axis (0,0,1).

20. _____/1 What callback handles mouse motions made with a button pressed?

21. _____/1 What is an OpenGL fragment?

22. _____/1 Fill in the 15 missing entries to give a 4x4 homogeneous matrix that executes a translation by (1,2,3).

## {$\left(\begin{array}{cccc} . & . & . & . \\ . & . & . & . \\. & . & . & . \\. & . & . & 5 \\ \end{array}\right)$}

23. _____/1 What's the advantage of using XOR to write a cursor into the color buffer?

24. _____/1 How would you rotate about a point that is not the origin? In other words, what three simpler operations would you combine to do this?

25. _____/1 Prove that these 3 2D vectors are linearly dependent: (1,1), (1,2), (9,10).

26. ____/1 Vector multiplication is quite weird; it is the only type of math that you are likely to see that is not associative under multiplication. That is, in most cases,
A x (B x C) != (A x B) x C
Give me an example of this, where A=(1,0,0). Don't just write down B and C. Also write down BxC, Ax(BxC), AxB and (AxB)xC.

27. ____/1 How does the display list reduce traffic on the network?

28. ____/1 What's the normal to the plane x+2y+3z=4? Your answer should be normalized.

29. ____/2 Give 4 advantages of homogeneous coordinates.

30. ____/1 What is OpenDX?

31. ____/1 Give two reasons that OpenDX is widely used.

End. Total: 35 points