December 2022

Low-Level Programming

During semester one, I worked on low-level programming within my course at Staffordshire University. This module consisted of the memory management and expansion and optimisation of a ray tracer framework. We also then needed to port this to either the PS4 or Linux - I chose Linux.

Within this project, memory tracking has been attempted in which memory statistics have been output to the console window. Class specific memory allocators and memory tracking has been implemented along with error checking of new and delete. Walking the heap and memory pools have also been implemented. The external JSON library for modern C++ made by Lohmann (2022) version 3.11.2 was used to expand the framework. Spheres were added and animations were set up. This was done by using the documentation linked in the bibliography and adding a JSON reader class. This allows all the JSON information to be sorted. Optimisations of the framework includes the adding of threading. More spheres are rendered, and this is done faster.