Changes:
-comments added to explain all previously unexplained code
Note* - some code could be optimised, we’ll see how much time I get to do so, next step, shaders!