https://hgpu.org/?p=4721
Synthesis and rendering of bidirectional texture functions on arbitrary surfaces