COMP3069 Computer Graphics
Coursework (Assessment 3) - 2025
Description
This assignment is compulsory and is worth 70% of your final mark for COMP3069. It is due for submission by 16:00 on 22 December 2025 (Monday). Late submissions will receive a penalty of 5% of the assignment grade per day and no submission will be allowed after 16:00 on 26 December 2025 (Friday).
You should submit two files:
1. A zip file containing your Visual Studio solution, including code, textures, shader files, executable, `include` and `lib` directories. 50%
2. A single PDF file containing your report (description and demonstration). 20%
General Requirements
In this coursework, you are required to apply what you have learnt about 3D computer graphics and graphics programming to create and display an animated, interactive 3D scene. The coursework will test your understanding of core computer graphics concepts and your ability to implement them using a modern graphics API. Whenever possible, please first consider and apply the topics, concepts, and mechanisms covered in the lectures and lab sessions, including, but not limited to:
1. Graphics APIs (e.g., OpenGL, GLFW, GLSL, GLM),
2. 3D Modelling,
3. 3D Transformations,
4. Cameras,
5. Textures,
6. Lighting, and
7. Anti-aliasing.
You are also required to write a report to outline how you have met the requirements. The report should contain screenshots of your program (code) and output (rendered scene) as part of your demonstration (10%), and a detailed description (2000 – 3000 words) of your implementation (10%).
Technical Requirements
Figure 1 shows a reference image containing various 3D models.
Figure 1: A reference image containing 3D models
(https://en.wikipedia.org/wiki/List_of_common_3D_test_models)
You are expected to use your imagination and try to be creative when designing an outdoor scene. The technical requirements are as follows.
1. You should create all 3D models/objects (including 3D modelling & 3D transformations) and display them in your scene by referring to Figure 1. The connections and the overall appearance (including the colours) of the models/objects should be as similar to those in the reference image as possible.
2. The scene must contain all models/objects, and the models/objects must be animated (e.g., a sailing boat) whenever possible.
3. You need to create at least three lights of different types (i.e., directional, positional, and spotlights). You should be able to switch between the lights interactively. The on and off of the directional light will display the scene at day and night times.
4. You need to find and apply textures (including at least images showing a sky and a river) that look realistic and merge the scene (background) to the objects in Figure 1.
5. You need to implement two different types of interactive cameras (i.e., model-viewer and fly-through cameras) to demonstrate your scene from different viewpoints. You should be able to switch between these cameras and allow user-controlled viewing via keyboard/mouse input.
6. The objects (e.g., the wheel) in the scene must be interactive, responding to user input (keyboard/mouse) with changes (e.g., transformation, colour, animation state) whichever and whenever possible.
7. You need to apply anti-aliasing mechanisms to smooth the edges of rendered objects.
There is little flexibility to account for your creative choices. You might want to:
1. Model objects by manually defining vertex data, or
2. Procedurally generate some vertex data.
However, marks will be awarded based on the effective application of concepts and mechanisms taught in COMP3069. The more you demonstrate your understanding and use of the course material, the higher the marks you can expect.
Submission
Before submiƫ ng your code, test it thoroughly using Visual Studio 2022. Marks will be lost for programs that do not compile or have issues linking to resources (e.g., shaders, textures).
Please submit your work by 4.00pm on 22 December 2025. Please note that you can have only one submission of your work.
Due to file size limits on Moodle, you are required to zip your entire coding solution and upload it to OneDrive using your UNNC account. Then, share this zip file with the module markers:
Dr. Yue Li at Yue.Li3@noƫ ngham.edu.cn
Dr. Wooi Ping Cheah at Wooi-Ping.Cheah@noƫ ngham.edu.cn
Prof. Sean He at Sean.He@noƫ ngham.edu.cn
Create a shareable link for the zip file and paste this link into the text box on the submission site in Moodle.
You must also submit your report in PDF format as a file attachment via the Moodle submission site. If the PDF file is larger than 10MB, you may zip it before submission.
Ensure that the markers can successfully download your zip file from the provided OneDrive link, unzip it, open the `.sln` file in Visual Studio 2022, compile the project, and run the executable without any errors or additional configuration.
The report is compulsory. Failure to submit a report will result in a zero mark for the entire coursework.