CSCI 360
Fall 2013,
Test 1
- Please answer each question carefully and thoughtfully. You need
to demonstrate that you understand the material covered.
- Use as many pages as you wish, but make sure that you label each answer with the question number.
- Please write neatly, and print if possible. If I can't read your answer, it is incorrect.
- Please make sure that your name is on your test.
- Please make sure that you answer all parts of the questions.
- Many graphics systems (including OpenGL) use a pipeline architecture.
- [4 points] What is a pipelined architecture?
- [8 points] What are the major steps in the imaging process pipeline? Describe what occurs at each step.
- Frame buffers
- [5 points] What is a frame buffer and how is it used in the process of creating and displaying an image.
- [2 points] What is double buffering?
- [2 points] How is double buffering supported with glut?
- Event Driven Programming
- [2 points] What is an event?
- [2 points] Describe the basic operation of glutMainLoop
- [2 points] What is a callback?
- [2 points] Describe what happens when glutPostRedisplay is called.
- Homogeneous Coordinates
- [1 point] What are homogeneous coordinates?
- [2 points] What problems do homogeneous coordinates solve in a graphics system.
- Transformations
- [2 points] Give the transformation matrix required to scale a vertex about the origin by α.
- [6 points] Derive (and state) the transformation matrix required to scale an object about the point (x,y,z) by an amount α
- Vertex Shaders
- [4 points] What is the primary task of a vertex shader?
- [2 points] When is the vertex shader invoked?
- [6 points] Name three types of variables which can be used in a vertex shader (Not Data Types). What is the purpose of each?
- [8 points] How is data in an application program associated with variables in a vertex shader program? Describe the OpenGL graphics calls and data structures involved in this process.