Low-Level Games Programming
Select the rendering resolution and multi-threading type | Select the scene and the number of frames to render. |
---|---|
Add spheres into a custom scene | The Ray Tracer program loads the settings chosen from the GUI application. It will then render the scene. |
Once it finishes rendering, it will output the time taken and then automatically close. | This is a single frame from one of the scenes |
Low-Level Games Programming is a single-semester module on the Computer Games Programming course at Staffordshire University.
The core focus of this module was memory management and optimisations. For the assignment, we had to take an existing Ray-Tracer framework and optimise & expand it using various different methods. These include:
-
Implementing Multi-Threading
-
Implementing Memory Pools
-
Overriding the 'new' and 'delete' operators
​
Once optimisations had been implemented, we were tasked with porting our framework over to the PlayStation 4 system. Please note that there is very limited I am allowed to say about this task, as we had to sign a Non-Disclosure Agreement with Sony Entertainment.
​
For my assignment, I implemented 2 multi-threading techniques, a Memory Pool, optimised the file output for the final rendered images, and created a GUI to interact with the Ray Tracer from a more user-friendly standpoint. This GUI contains:
-
Image Resolution selection
-
Multi-Threading type selection
-
Scene Selection
-
Video Length
-
Custom Scene Editor