Accurate and Efficient Lighting
for Skinned Models

Marco Tarini, Daniele Panozzo, Olga Sorkine - EUROGRAPHICS 2014


This is the project page for the Eurographics 2014 (Computer Graphics Forum) article with the above title.

In a nutshell, we do more accurate lighting over animated meshes, e.g. for games!
See how much better it looks in this animated [gif].


In the context of real-time, GPU-based rendering of animated skinned meshes, we propose a new algorithm to compute surface normals with minimal overhead both in terms of the memory footprint and the required per-vertex operations. By accounting for the variation of the skinning weights over the surface, we achieve a higher visual quality compared to the standard approximation ubiquitously used in video-game engines and other real-time applications. Our method supports Linear Blend Skinning and Dual Quaternion Skinning. We demonstrate the advantages of our technique on a variety of datasets and provide a complete open-source implementation, including GLSL shaders.

The paper:

Downloadable Demo

What does it do: This demo shows how the technique works, applied to improve the lighting of either Linear Blend Skinning or Dual Quaterion Skinning.
You can switch between the two, as well as enable or disable the technique.
By the press of a button, it shows the Fragment and Vertex shaders which it currently uses.


The demo comes complete with test data (skinned 3D models, skeletons, animations and bumpmaps), which is part of the (copyrighted) assets of the game Mount and Blade, and is used by kind permission of TaleWorlds Entertainment.

The source package includes a local copy of every used library, for ease of recompilation. Each library retains its own licence.

The demo itself is provided under Mozilla Public License v. 2.0.

Additionally, this demo is citeware! Please cite the above paper in any derivative work, including any usage of the provided shaders.