Rss

DirectX Rendering

Coursework Project

This project was originally created for my 3rd year Graphics Programming with Shaders module to demonstrate an understanding of the DirectX 11 programmable pipeline, thought I spent a significant amount of time working on it as a personal project as well. The application uses a Lighting Pre-Pass deferred rendering system and implements techniques such as screen-space ambient occlusion, dynamic level of detail using tessellation and large body water simulation using Direct Compute. The terrain generation shader outputs it’s data using the geometry shader stage, allowing the tessellated terrain to be rendered using the deferred renderer.

Executable  Source  Videos

 

DirectX Framework

Following the submission of the DirectX coursework project detailed above I had some time to reconsider some of the design choices I made during the more rushed development stages of the project and decided to remove a lot of the more complicated features of the project, specifically the terrain and water generation features, and focus my efforts on implementing more ‘core’ graphical features in a cleaner project. One major advancement of this project has over the coursework project is that an array of the visual settings can be modified using the settings.ini file located in the “res/data” folder. These settings include resolution, vsync, field of view and fullscreen settings and post processing settings such as the anti-aliasing method used (none, msaa2x-8x or fxaa), depth of field settings (none or bokeh) and HDR settings.


Executable
  Source  

In both applications use W/A/S/D to move, arrow keys to turn and Q/E to move up and down.