top of page

Landscape generation and Lighting with Shaders using Direct3D/X11

Graphics Programming with Shaders University Project

The project focuses on generating terrains and lighting with shaders and C++ through a DirectX11 framework given to us by our lecturer. Throughout the development of this project, I learnt about the Direct3D 11 Pipeline and different graphics programming techniques. I also researched and implemented PBR lighting with materials, which can be changed in real-time through the program's UI.
The project includes the following techniques:



 

  • PBR lighting with materials that can be changed in real-time

  • PBR lighting on the terrain through the use of roughness maps that I passed into the graphics pipeline

  • Vertex manipulation with displacement mapping by using heightmaps (the project includes 2 heightmaps)

  • Vertex manipulation using superimposed wave equations

  • Normal calculations to ensure the vertices are illuminated correctly

  • Changing the colour of the water based on depth

  • Changing the materials in the terrain based on height

  • HDR Tone-mapping and Gamma Correction

  • Shadows

  • Post processing techniques such as Chromatic Aberration

  • Minimap rendering the secene on a render texture

The following report outlines the development of the project along with pseudocode and explanations of the techniques and equations used:

bottom of page