It has been a long while since my last journal entry. Mostly because I have been working hard on the dissertation. A couple of days ago I submitted my first full rough draft to my supervisor for some advice before I submit a final draft. At the moment I feel like it is in a good place. I have ensured to try and include as many diagrams and pictures where possible to help describe the development process and accurately present the final results. Currently, it is sitting at 16,000 words, which is 6,000 more than the guideline 7-10k words. I am not sure if this is a hard limit. There isn’t any mention of marks being deducted for going over the word limit, so hopefully, this doesn’t cause any issues. I will double check with my supervisor to ensure that this isn’t a problem.
I have also packaged and submitted the final version of my artefact. This included two apps to demonstrate the indirect lighting and AO in one and the depth of field in the other. It also included the full source with instructions to allow for someone to build the project if they want to. The code is not all that tidy. There are a lot of TODOs sprinkled around that could be removed. However, it is quite a large codebase and it would take a very long time to sweep some things away. I also want to continue work on the project which will be easier in its current state
I am pretty happy with how the project ended up. I think I produced something that looks good that is also functional. I think my main gripe like I have already stated is the state of the code. It is definitely not as tidy or efficient as it good be. But it is a big project so this was bound to happen. I think the depth of field effect definitely could do with some optimisations. As well as some additional time spent improving the quality of the blurring. There has been a lot of recent research regarding accurate Bokeh DoF effects that could be used to improve the appearance: Seen here.
I think overall I am happy with the way the project went. I was definitely ambitious with what I wanted to achieve and this meant I rushed some sections of the work. However, I think I managed to achieve all of the major goals I had set out in the beginning.
- I was able to get the deep G-Buffer generation working relatively quickly. It took a few iterations to get the reprojection working correctly but once complete it didn’t need to be touched again.
- Implemented both AO and indirect lighting. These seemed like pretty intimidating challenges as I had never dealt with either of them before. However, they actually ended up being a lot simpler than I had initially thought. This was mostly just down to doing the research and spending the time trying to understand how the algorithms work. I especially think trying to describe the effects in this journal helped my understanding as well.
- Failed to get ray traced reflections implemented. Actually, I didn’t even try. Mostly because I felt I was short on time which was better off spent working on something different as I already had plenty of data from the AO and indirect lighting. Spending the time working on the reflections wouldn’t have impacted the projects as much as just attempting to implement one of the alternative applications of deep G-Buffers.
- And I think the big one was actually getting the partial occlusion depth of field working. I knew that I at least needed to attempt something so I could write something about it in the discussion so the fact that it worked felt like a real accomplishment. Even though it isn’t great and to be honest I don’t feel like it has much use.
I feel like I have learned a lot during this process. I have improved my understanding of some screen-space rendering stuff and deep G-Buffers. But, more importantly, I have been able to implement something from scratch that I was interested in just by reading the available research. As well as adapting information that I have read to achieve something new. I feel like this will be important as I enter the working world as I feel like I am more confident in my ability to work independently.
This is likely the final journal entry as the submission for this module is only a few days away. I didn’t like the idea of spending time writing these journals every week (well, nearly every week). But in the end, I feel like spending the time putting my thoughts into written work helped me to achieve more than if I hadn’t spent the time doing it. So I am happy that I put the effort into writing detailed entries. I just need to find a way to save these journals for future reference.