**1a. The Frame Buffer (20 points)**

Assume you have a colour map with a depth of 6 (i.e. 6-bit) and a width of 8 (i.e. 8 bit). How many different colours can be shown simultaneously? How many possible colours are there?

**1b. Screen Refresh (25 points)**

Assume you have a sequence of 5 images to be shown as an animation. Assume that the screen refreshes 60 times per second and the images take the following amount of time to draw on the screen in seconds: 1/18, 1/31, 1/28, 1/16, 1/25. How long does it take to display the entire sequence of 5 images?

**1c. Midpoint Line Algorithm (30
points)**

Assume you have a line segment from (2,2) to (8,4). Using the final version of the Midpoint Line Algorithm discussed in class what are the values of:

deltaX, DeltaY, dinitial, deltaE, deltaNE

Apply this algorithm to the line segment and give me the values of X, Y and d for each iteration through the loop.

**2a. Polygon Filling (20 points)**

Given the following set of polygon vertices (assume vertex a connects to vertex a+1 and the last vertex connects back to the first): (0,30), (20,20), (30,30), (40,20), (80,40), draw the global Edge Table containing all these edges and then draw the Active Edge Table after the first edge(s) are moved into it and sorted.

**2b. Line Clipping (25 points)**

Given a clipping order of above, below, right, left and a clipping rectangle from (10,10) to (20,20). For each of the following line segments give me the code of each endpoint in the Cohen-Sutherland Line Clipping Algorithm. Then tell me if the line can be trivially accepted, trivially rejected, or if it must be subdivided.

(15,0) to (15,-20)

(-5,15) to (-15,25)

(40,40) to (40,0)

(12,15) to (18,15)

(15,25) to (30,15)

**2c. Polygon Clipping (30 points)**

Given the following set of polygon vertices (assume vertex a connects to vertex a+1 and the last vertex connects back to the first): (0,30), (20,20), (30,30), (40,20), (80l,40), a clipping order of above, below, right, left and a clipping rectangle from (5,25) to (50,50). Give me the sequence of vertices generated AFTER EACH PASS through the Sutherland-Hodgman Polygon Clipping Algorithm. You do not need to give me the exact coordinates of the new vertices, simply indicate their position on a diagram and give them a label (as we did in class.)

**3a. Homogeneous Coordinates (15
points)**

Assume you have the 3D point (15.0, 3.0, 5.0). What is this point in homogeneous coordinates? What is ANOTHER set of homogeneous coordinates representing the same point?

**3b. Transformations (30 points)**

Given the following set of polygon vertices (assume vertex a connects to vertex a+1 and the last vertex connects back to the first): (20,20), (30,20), (30,30), (20,30), what are the new coordinates after the following transformations are applied. Apply each of the transformations SEPARATELY to the original coordinates, do not apply them in sequence.

scale by (3,2)

translate by (10,-20)

**3c. More Transformations (30 points)**

Given the following set of polygon vertices (assume vertex a connects to vertex a+1 and the last vertex connects back to the first): (30,30), (40,30), (40,40), (30,40), give me the sequence of transformations to apply (in the order they should be applied) to make the new coordinates of the same polygon be: (50,70), (55,70), (55,100), (50,100).

**4a. 3D (25 points)**

Given a 2D polygon with vertices (0,0), (20,-10), (20,10), and (0,10) and assuming a Right Hand Coordinate System and perspective projection, give me the values for the following so that the polygon appears in the window as shown below:

VRP

VPN

VUP

PRP

window (umin, vmin) (umax, vmax)

**4b. More 3D (25 points)**

Where is the center of projection in parallel projection:

Where is the center of projection in perspective projection:

What is necessary to define the center of projection for parallel projection:

What is necessary to define the center of projection for perspective projection:

How is clipping in 3D different from clipping in 2D:

**1a. Warnock's Algorithm (50 points)**

Use Warnockj's Algorithm to assign values to the following scene. Recurse as far as necessary drawing in the divisions you are using and ensuring each box is labelled in one of four ways.

1. all disjoint

2. single contained or intersecting

3. single surrounding

4. front surrounding

5. needs further subdivision beyond the resolution of the diagram

**1b. Depth Buffer (15 points)**

Write a pseudo-code algorithm for a depth buffer.

**1c. Back Face Culling (15 points)**

How is a back-facing polygon determined? Be specific.

**1d. Object Space VS Image Space (10
points)**

What is the difference between Object Space techniques and Image Space techniques? Name one algorithm we have discussed for each technique.

**1e. Visible Surfaces (10 points)**

What are the two primary reasons for using hidden surface routines?

**2a. 2D Depth Cues (20 points)**

Name and describe 5 of the 8 2D cues to depth

**2b. Human Vision (10 points)**

What are the differences between rods and cones both in terms of function and location?

**2c. Reflection (10 points)**

What is the difference between diffuse reflection and specular reflection?

**2d. Phong Shading (10 points)**

How is Phong shading different from Goraud Shading? Be specific.

**2e. Illumination Models (12 points)**

For each of the following categories tell me whether they are important in each illumination model

no lighting | ambient | diffuse reflection | specular reflection | |

position of polygon | ||||

orientation of polygon | ||||

position of viewer |

**2f. Terms (15 points)**

Define the following terms:

Hue

Saturation

Brightness

Lightness

Dominant Wavelength

**2g. Colours (10 points)**

How would I define a blue-green colour in the RGB colour model? In the CMYK colour model?

**2h. Light Sources (13 points)**

Describe point lights, directional lights, and spot lights to highlight their differences.

**3a. Implementing 3D Perspective (20
points)**

List (in order) and briefly describe the 8 steps to implementing perspective projection

**3b. Canonical View Volumes (15 points)**

Draw and label the canonical view volumes for parallel and perspective projection

**3c. Transparency (15 points)**

What is the difference between interpolated transparency and screen-door transparency?

**3d. Raytrracing (15 points)**

Describe how ray tracing is used to draw a scene.

**3e. Radiosity (15 points)**

Describe how radiosity is used to light a scene. How does radiosity relate to ambient light. What can't radiosity do?

**3f. OpenGl (20 points)**

Write the OpenGL / C commands necessary to draw a red square with the following vertices:

(10,20,30), (10,25,30), (10,25,35), (10,20,35)