C327 Revision Questions, 1998

There are five questions on the paper. Answer THREE questions.

1. Why is the polygon fill algorithm considered central to the computer graphics rendering pipeline. Describe in detail how the polygon fill algorithm may be implemented in a general form to take account of its possible use in the 3D rendering pipeline.

2.

What is meant by an 'object hierarchy'. What are the main functions needed to implement an object hierarchy and give examples of their implementation. What is a polyhedra? What main data structures might be used for representing polyhedra. Discuss implementation of each of the following with respect to polyhedra:

(a) Clipping against a view volume.

(b) Intersection with a ray.

(c) A quick test to find if it is likely that two polyhedra intersect one another.

(d) Splitting a polyhedra by a plane.

3.

Discuss how 3D viewing is accomplished with OpenGL and with the OpenGL utilities library. Discuss the implementation of the OpenGL viewing pipeline, concentrating on the derivation of the matrices used in the viewing transformation.

4. Describe in full detail the implementation of an algorithm for the clipping of a planar convex polygon against the view frustrum. Every item of the rendering process should be considered in your answer - from efficient location of clipping in the rendering pipeline through to illumination calculations.

5. Describe every method that you know for creating a minimal sized BSP tree. Describe how you would use a BSP tree to create shadows. What other applications are there of the shadow creation algorithm?

6. Describe the ray tracing algorithm in full, and how it can be speeded up by reducing the number of intersection tests.