## ECSE-4750 Computer Graphics, Rensselaer Polytechnic Institute, Final Exam, Fall 2010, 15 Dec 2010 6:30 - 9:30pm, DCC330




NAME: ____________________________________




EMAIL:___________________________ RIN:______________

Subtotal of questions 1-10:_______, q 11-25:______, q 26-36:______, TOTAL: ______

Answer every question.There are 7 pages with 36 questions. Each question is worth 1 point.

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

⇒You may write FREE as the correct answer to any five questions.⇐

1. ____ Consider a 3D triangle with vertices (0,0,0), (10,0,10), (0,10,0). What is the z value of the point in the triangle with x=3, y=1?

2. ____ The following can not possibly be a 3D Cartesian rotation matrix because the 2nd column's length is not one:
{$\begin{pmatrix} 1&1&0\\0&1&0\\0&-1&1\end{pmatrix}$}
Justify, i.e., explain the reason for, this rule.

3. ____ If a=(7,9,6) then write {$(a\times p)\, a$} as a matrix M, depending only on {$a$}, times {$p$}.

4. ____ What is the 4x4 homogeneous matrix for
1. a 3D rotation by 45 degrees about the Y axis,
2. followed by this translation: x'=x, y'=y+1, z'=z-2.

5. ______ Can the volume of a small cube change when its vertices are rotated? (yes or no).

6. ______ Give the quaternion for a 360 degree rotation about the axis (.6,0,.8).

7. _____ What is one problem with interpolating a spline through the control points instead of approximating a spline near the points?

9. _____ Does projection preserve angles?

11. ____ Name the effect which accentuates the visibility of the common edge between two adjacent bands of slightly different brightness.

12. ____ High spatial frequencies can be bad. Name the technique used to remove them.

13. ____ Which shader is executed first in the graphics pipeline: vertex or fragment?

14. ____ One way to shade a polygon with many edges is:
1. split it into triangles, then
If you use this to make a video, then each separate frame may look good, but the video may look bad. Why?

15. ____ In the graphics pipeline, when a triangle is processed, the (x,y,z) coordinates of the vertices are interpolated across the whole triangle to give the coordinates of each fragment. Name two other things that may commonly be specified at the vertices and then interpolated across the triangle to give a value for each fragment.

16. ____ Compare Gouraud and Phong shading: Which one is more realistic, especially for highly curved surfaces?

17. ____ Why?

18. ____ Where in the graphics pipeline does texture mapping take place?

19. ______ Are vertices assembled into objects in the vertex shader, in the fragment shader, or somewhere else?

20. ______ Is fog generated the vertex shader, in the fragment shader, or somewhere else?

21. ______ Clouds and crowds are examples of what type of system?

22. ______ A major rendering technique was invented by thinking how sunlight shines through a window and bounces around to illuminate the walls, ceiling, and floor of a room. Name that technique.

23. ______ Since clipping to a clip region that is a cube is so easy, graphics systems tranform any scene with its clip window to make the clip window a cube. Name this transformation technique.

24. ____ Sometimes it's useful to imagine a bounding box around a face. Sometimes two faces' bounding boxes might overlap. IOW (in other words), the two faces overlap in X, overlap in Y, and also overlap in Z. This case causes problems for one common method of determining which face is in from of the other when rendering. Please tell me the name of this method.

25. _____ Draw an example where clipping a triangle causes it to have more vertices.

26. _____ Suppose that you have 12 triangles that can be arranged into a triangle strip. How many vertices would you have to specify to OpenGL if you use the fact that they can be arranged into a triangle strip.

27. ____ Name the OpenGL technique that takes a texture map and creates a hierarchy of coarser and coarser versions of it.

28. ____ What problem of pixels and texels does that solve?

29. ____ Following the principle that less is more, the OpenGL designers decided not to include some functionality that a program that processes images would probably need. Name it.

30. ____ When compositing several images, the limited precision of the color (frame) buffers may hurt the image quality. Therefore, OpenGL also has another buffer to composit into. Name it.

31. _____ How do you specify a color to be 20% transparent?

32. ______ Is the following code a vertex shader or a fragment shader?
void main(void) { gl_FragColor = gl_FrontColor; }

33. ______ Do you set a texture coordinate thus
glTexCoord2f(s0, t0);
before or after the vertex it applies to?

34. ______ What is swizzling?

35. _____Can the standard OpenGL pipeline easily handle light scattering from object to object? Why (not)?

36. _____ Why would you want to write code to write an image in the PPM format (instead of writing code to write it in, say, JPEG)?

END