


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This is a semester 1 examination paper for the interactive graphics module (comp 9015) in the master of science in software development program at the cork institute of technology. The paper covers topics such as back-face culling, convex polygons, color depth, pipeline architecture, affine transformations, homogenous co-ordinates, 2d opengl programs, pinhole camera model, parallel and perspective projection, viewing volume, viewing transformation, phong specular lighting calculation, light attenuation, phong and gouraud shading, spot light, shaders, and cartoon shader.
Typology: Exams
1 / 4
This page cannot be seen from the preview
Don't miss anything!



Semester 1 Examinations 2010/
Module Code: COMP 9015
School: Maths and Computing
Programme Title: Master of Science in Software Development
Programme Code: KSDEV_9_Y
External Examiner(s): Dr. Tom Dowling Internal Examiner(s): Ms. Helen Fagan
Instructions: Answer 4 of 5
Duration: 2 hours
Sitting: Winter 2010
Requirements for this examination:
Note to Candidates: Please check the Programme Title and the Module Title to ensure that you have received the correct examination paper. If in doubt please contact an Invigilator.
Question 1
i) Describe what is meant by each of the following terms: a) back-face culling b) convex polygon c) color depth (6 marks)
ii) What is the advantage of a pipeline architecture? Outline each of the stages in the pipeline architecture on the GPU. (7 marks)
iii) What are the main properties associated with affine transformations? Why are they useful in computer graphics? (6 marks)
iv) Why are homogenous co-ordinates used to represent transformations in computer graphics? How is a 3D translation represented in a homogenous system? (6 marks)
Question 2
i) What changes would you make to the following code to get the desired result Assume that the drawSquare method draws a unit square centred at the origin.
a. How would you rotate this square 45 degrees and move it so that it is centred at (5,5). b. What change would you make if you also wanted to scale it by a factor of 2 c. Draw two similar squares rotated 45 degrees and scaled by ½ centered at (5,5) , and (-5,5). d. What changes are required to animate the program so that both squares rotate about their centre in opposite directions? Assume a timer function is set up call onTimer(int n); (8 marks) void display() { glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); // Add code drawSquare(); glFlush() }
Question 5
i) Outline how you would write and invoke a shader from an openGL program.
(9 marks)
ii) Explain how you would write a cartoon shader.
(10 marks)
iii) What is the final output of a fragment shader.
(2 marks)
iv) What effect does the keyword varying have when used in a vertex shader and fragment shader.
(4 marks)