This project was released as coursework for two University modules. The Real-Time Graphics and the C++ Programming and Design modules. The project is a real-time rendering engine written in C++ and making use of the DirectX 11 graphics library. The marking of the project had two different goals, one of them was to asses the graphics features and the quality of these (shadows, lighting model, reflection, particles, etc.), while the other one marked the quality of code in terms of structure, architecture, and implementation. Before submission, the project was run through Parasoft, which is a static code analysis which identifies coding issues that can lead to security, reliability, performance, and maintainability problems later on. The project final mark was 94/100 for both modules.
The development main challenge was familiarizing myself working with DirectX 11 and COM pointers and also digging through various sources of documentation and finding which technologies are deprecated and which are still available and supported. Due to a not-so-great time management from my side and a few deadlines at work I was forced to complete the entire project in just 6 days. I consider that due to excellent planning and think before doing mentality I manage to successfully complete it in this short amount of time.
I am extremely happy that I had this opportunity to work with DirectX technologies and dig deeper into low level graphics programming techniques. As always to more you learn to more you find out what you still have to learn but I am looking forward to expand my knowledge. The things I would add to this is a set of post processing effects such as bloom and ambient occlusion, and possibility edge detection for the toon light model. I would certainly add PCF to shadow mapping in order to get rid of those hard pixelated edges and probably rework the shadow mapping system to make better use of the shadow map density.