Area lights implementation

Hi everyone,

I’m trying to implement area lights in my OpenGL renderer.

This article is my primary reference (area lights starts at page 40).

If anyone is familiar with the techniques presented there, I wanted to ask how to deal with the specular term, since they only describe how to compute the diffuse one, while the “most representative point” technique is used to address the specular part as described by Karis here ( are lights starts at page 13).

I guess I should simply use the diffuse area light computation from the first article while following the second one for the specular part.

However, for sphere lights for example, Karis uses a falloff function to attenuate the light, while Lagarde (first article) present a set of functions used to compute the area light illuminance that doesn’t need a falloff function to behave correctly. How could I combine the two? Could you point me in the right direction?