An implementation of a technique presented in the paper "Accurate and Efficient Lighting for Skinned Models". The technique improves accuracy of skinned surface normal transformations. It works by precomputing gradient values, so-called deform factors, between bone weights of neighboring vertices. The factors can then be used in run-time to calibrate surface normals.
- Windows 10 x64
- Visual Studio 2015 x64 or higher
- Graphics Tools must be installed to run Debug
- DirectX 12
- Assimp
- Unity Technologies - The sample model is taken from the assets in "The Blacksmith"
To test how well the technique performs in a memory bandwidth limited scenario, all vertex data except the reference normals are encoded. As the reference normals do not have the same precision as the encoded normals, minor visual differences between the implementations are to be expected.