- 首页 >> Algorithm 算法
COMP3811: Computer Graphics
Coursework 2
Interactive Animated Scenes with OpenGL
This coursework determines your mark for 70 %. In case of second attempt it will be capped to the
appropriate mark.
Technical Assistance
Reasonable questions about running OpenGL on the lab machines or feng-linux will be answered
during office hours. Whatever platform you use, it is strongly recommended that occasionaly
compile and run on the lab machines or feng-linux.
Submission Instruction and Note on Plagiarism
Submission should be done through the VLE by the due date. Submissions through the SSO will be
ignored and result in 0 marks. Your submission should be in a single tar file that contains a report
and source code. Ideally, source should must be provided with a Makefile and must compile and
run on feng-linux. Where this is not possible, you should record a video demonstrating aspects
of your coursework, and be prepared to provide a demo, showcasing your solution.
The report is basis for assessment, with the source code as supporting evidence for assertions
made in the report. Answer all the questions and provide the explanations that are asked for.
Refer to your code in explanations, but do not provide answers like: ’see source code’.
You are allowed to discuss ideas with colleagues. You must program independently and not base
your submission on any other code than was provided during the tutorials, and textures which are in
a tar file called textures.tar, which is located in the coursework 2 folder on the VLE, the same
folder which contains this specification. Changing variable names in someone else’s code is not a
good idea.
Creation of an Interactive Animated Scene using OpenGL
Using Qt’s QGLWidget you will create an application that demonstrates the ability to render visual
scenes using OpenGL.
You are free to use GLFW instead of Qt. Take into consideration that GLFW is not a GUI
toolkit and does not provide means to draw UI elements out of the box. Therefore, you will need to
find a different way to provide the required UI interaction elements. The ”Dear ImGui” library is a
reasonable alternative, however this should nevertheless be considered an advanced choice that will
result in extra work for you.
You are free, within some limits, to create a scene of your choice. Assessment will be based
on the sophistication of the scene and scene elements as well as possibilities for user interaction.
The scheme below sets out minimum requirements that must be met for grading in certain bands.
Grading within a band is assessed on: coding style and commenting, explanation of the design
choices and implementation in the report, and visual impact.
• 40%-50%: You must create a visual scene that demonstrates a reasonable complexity through
instancing. Examples could be a group of buildings, constructed from cubes, body shapes constructed
from cylinders and spheres and a combination thereof. Light and material properties
must be chosen that allow specular and diffusive light contributions to be recognised. You are
allowed to use glut objects. The report must explain your design. Your scene must deviate
substantially from the simple scenes that were provided during the tutorials.
• 50%-60%: Your scene must fulfil all requirements for the 40 %-50 % band. Your scene must
contain at least one element of user interaction, for example, a slider to manipulate viewing
angles or a dialog box to set material or light properties.
• 60%-70%: Your scene must fulfil all requirements for the lower bands, as well as contain
an element of animation, for example rotating or spinning objects. The scene must contain
at least one convex object that you have constructed from polygons. The scene must contain
texture mapping. Some texture images will be provided in a tar file that will be present with
the coursework brief. The ones that are provided must be used, but you are free to add your
• 70%-100%: Your scene must fulfil all requirements for the lower bands and contain an object
that requires hierarchical modelling and displays motion in some of its parts. This object
itself must move in a circular path through the scene. You must use various elements of
user interaction, for example controls to set the radius or speed of the object, dialog boxes to
control material properties, etc. Interaction purely by mouse of keyboard does not qualify as
one of these elements. [100 marks]
These bandings are indicative
In marking we assess whether the elements are present in your cousework and assign them a
score. We will also rate how creative you were in applying these elements and apply a reweighting
that somewhat favours inventive and creative use of them in your coursework (look and feel). The
exact weighting coeefficients will be on the feedback sheet. [100 marks total]