This post marks the last post I will write on the development of my rendering engine as a part of my Dissertation. This project has proven a gigantic learning curve, not only regarding C++ and DirectX but also maintaining a blog and documenting progress of a project.
The repository for my dissertation artefact can be found on Github Here:
When I set out my milestones I had very little knowledge of Graphics Programming so some of the milestones I set myself were trivial, they could have and should have been grouped together, such as the individual lighting tasks; which I completed all at the same time anyway. Knowing what I know now on this subject, when I continue development on the project I will be able to far more accurately judge what functionality and tasks constitute an achievable milestone.
An issue I had over the course of this project was finding the time between working on the other projects I had been part of to write up the progress I was making; I know that writing is not my strong point and even though I managed to write posts with ease, I had to teach myself to do it immediately after completing the work. There were many points where I spent 100 percent of my time working on my other work, neglecting this, only to the spend all my time on this, powering through work and neglecting the other projects. I am now far more aware of how I need to make sure I manage my time so that I can effectively work on multiple projects concurrently.
Furthermore, getting posts proof-read proved quite an issue due to the complexity of the project, on a few occasions I had posts backed up while I was trying to find proof readers. Unfortunately, this is something that comes with working on more niche subjects.
One task had me wasting many hours trying to find solutions to many problems and that was retrieving material data from my FBX files. I found the FBX SDK Documentation to be very unhelpful at times; demonstrations were often focussed on creating/exporting data rather than importing meshes et-cetera. I regret spending so long trying to get anywhere with the task instead of seeing it as something to come back to later once I had completed more approachable and urgent tasks such as adding Specular and Normal maps to my shader or the Scene Graph which is currently only half implemented.
Overall I am happy with how far I have gotten through the milestones I set out, I completed all the minimum tasks and two of the advanced. I had also started implementing the scene graph, only to stop working on it in favour of tidying and organizing my code.