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 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
Custom Scene Editor