It is partially based on my previous Q3A/XreaL stuff and Carmack's early shadow mapping research that was released in the Doom 3 GPL code. However the Doom 3 GPL release didn't contain the necessary ARB assembly shaders but the BFG .resources did.
I was able to reconstruct the missing parts in C for graphics which is required by the open released BFG renderer and I went even further and beat the performance by replacing Carmack's shader with randomly rotated Poisson discs -> 13 texture lookups instead of 32.
In the end, I figured that Carmack's shadow mapping filter was still the same in Rage.
My approach is described in
http://developer.amd.com/wordpress/medi ... apping.pdfIt is an approach not used by DP or Tesseract afaik.
This stuff is faster than anything I wrote in XreaL. I only use depth textures and no floating point textures which only requires half of the fillrate and is not affected by classic light bleeding problems (ESM, VSM).
The shader implementation is very elegant because I can rule all 3 shadow casting light types (spot,point,sun) with a single shader using sampler2DArrayShadow and the rest is matrix math.
I even implemented cascading shadow mapping for sun lights although the game has almost no sun lights except in the monorail map. I wanted my shadow mapping implementation to be feature complete for a 1.0 release.