Low-Level Games Programming

Render Settings

Select the rendering resolution and multi-threading type

Scene Settings

Select the scene and the number of frames to render.

Scene Editor

Add spheres into a custom scene

Ray Tracer

The Ray Tracer program loads the settings chosen from the GUI application. It will then render the scene.

Ray Trace Complete

Once it finishes rendering, it will output the time taken and then automatically close.

Ray Traced Image

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

Website created using Wix
© Joshua Marshall - 2018
Render Settings

Select the rendering resolution and multi-threading type