$25
Deliver your solution on Blackboard before the deadline.
Use the Gloom-rs project as your starting point.
Do not include any additional libraries apart from those provided with Gloom-rs.
Upload your report as a single PDF file.
Please use the included shell scripts to automatically pack up the source code correctly into a ZIP file.
All tasks must be completed using Rust.
Use only functions present in OpenGL revision 4.0 Core or higher. If possible, version 4.3 or higher is recommended.
The delivered code is taken into account with the evaluation. Ensure your code is documented and as readable as possible.
Currently MacOS support for OpenGL is spotty at best. We will not support MacOS in any way, shape or form. We strongly advise you to use Windows or Linux instead, if at all possible.
Questions which should be answered in the report have been marked with a [report] tag.
Objective: Familiarise yourself with OpenGL and Rust. Basic rendering of primitives, trying out Shaders.
Computer Graphics Assignments Overview
In the computer graphics assignments of this course we’ll be creating an animated, interactive scene. Since this task is quite large to put in a single assignment, it has been split into three separate assignments, which will guide you through its implementation.
These three assignments are worth 15% of your final grade. Each assignment is created in such a way that the tasks you complete contribute towards this final product, while at the same time giving you a practical introduction in rendering realtime images with OpenGL.
This also means that it may be very difficult to complete the later assignments if you only finished one of the earlier assignments either in part or not at all. We therefore highly recommend you start working on these assignments early, and seek out help whenever possible if you get stuck.
The first assignment (worth 4%) intends to show you the basics of working with OpenGL.
The second assignment (worth 5%) focuses on introducing and understanding affine transformations.
The third and final assignment (worth 6%) gives an introduction to scene creation and combinations of transformations.
Along with the assignments, a guide to OpenGL is made available on Blackboard. It is highly recommended you read through it in its entirety. Don’t worry; we’ve attempted to make it as helpful and easy to read as possible. We hope reading it in full will enable you to complete this first assignment with ease.
Please do not include the target folder in your submission, as it can get massive!
Task 0: Preparation [0 points]
Ensure the following tools are installed:
Git cargo rustc
Please see the simple rust cookbook for how to get started with Rust.
Clone the Gloom repository using the command:
git clone https://github.com/pbsds/gloom-rs
Compile and run the project.
This should be as simple as running cargo run from a terminal.
You should see an empty window if compilation is successful and your GPU supports the OpenGL version required for these labs (4.0 or higher). If not, computers have been made available in room ITS-008 (Cybele) for you to use.