DirectX 11 – Waves with Tessellation, Displacement mapping and Normal mapping

Waves from Waves post improved with lighting and normal mapping.

Details on the waves’ surface have been increased by implementing lighting and applying normal mapping on the waves.
Normal vector values are derived from normal map textures which also contain height values for the vertices of the waves that are used for the implementation of displacement mapping(Height mapping).
Light source utilized in the scene is directional light.

Backface culling is disabled.
Uses fixed-axis rotation.

Program file can be downloaded here.

Requirements: DirectX 11 supported graphics card, Windows 7/8/8.1/10/11, Visual C++ Redistributable Packages for Visual Studio 2013(x86).

Control:
Left-click anywhere in the scene then hold left-click and drag the mouse to move the camera around in the scene.
Double-click to toggle between solid and wireframe mode.
Scroll up and down to zoom in and zoom out.

Platform: Windows
Programming Language: C/C++, HLSL

Resources: Normal map and height map textures(normal vector values and height values are combined into the same texture) are from companion DVD of the book 3D Game Programming with DirectX 11 by Frank D. Luna, Mercury Learning.

Texture loading is implemented using DirectX TK library.