For the first term at Level 5 of my Computer Games Programming (BSc) degree at University of Staffordshire, I had a Real-Time Rendering module where I created a rendered 3D scene using DirectX11 and the programmable graphics pipeline. This was all coded using C++ from the University provided framework.
Features include:
- Render game assets from OBJ files
- Specular mapping and textures
- Blinn-Phong lighting with point light and directional light
- GameObject – Component object orientation with generic component accessing through templates
- JSON loading for scene objects
- Picking with basic collider added in
- Debug fly camera with full rotation and movement
- Skybox with cubemap texture
- Heightmap for terrain generation
- Scene graph implementable through transform parenting
Overall the module helped expand my knowledge on how to utilise rendering APIs in more advanced ways, especially with the programmable nature of the DirectX11 graphics pipeline. My ability to code in a future-proof Object Orientated way was also tested and improved throughout this module as I tried to properly separate classes with Gameobject-Component architecture.