Moments in Graphics
A blog by Christoph Peters

Shading with polyhedral lights

Published 2021-07-28

In the past winter term at Karlsruhe Institute of Technology, I had the pleasure of supervising Bastian Urbach's bachelor thesis. His topic has been the generalization of methods for shading with polygonal lights to polyhedral lights. He has been highly motivated and creative. The result is an efficient method for GPU-accelerated real-time shading with convex or non-convex polyhedral lights (see Figure 1). Shading itself works either through linearly transformed cosines [Heitz2016] or through Monte Carlo integration. And it's implemented in Unity. Both the bachelor thesis and the implementation are now freely available on Bastian's blog. If that sounds interesting, go ahead and read his short blog post or the whole thesis. It's much like a concurrent work published recently at EGSR [Aakash2021] but there are pros and cons for both techniques. The blog post discusses those as well.

Figure 1: A plane lit by several non-convex polyhedral lights.

Bastian Urbach's blog post, thesis and implementation


Kt, Aakash and Sakurikar, Parikshit and Narayanan, P. J. (2021). Fast Analytic Soft Shadows from Area Lights. Eurographics Symposium on Rendering - DL-only Track. Official version | Author's version

Heitz, Eric and Dupuy, Jonathan and Hill, Stephen and Neubelt, David (2016). Real-time Polygonal-light Shading with Linearly Transformed Cosines. ACM Transactions on Graphics (proc. SIGGRAPH), 35(4). Official version | Author's version