IES Lights

I have implemented IES lights, these are lights based off measured data that are stored in the IES file format. These files store the photometric-web which represents the 3D distribution of candelas of a particular luminaire.

Technical-Description-Final

Sites to download IES profiles

Unfortunely there is a bug I cannot seem to resolve, the problem is the light does not appear to cast any light down on the floor even though the shape appears correctly.

Another problem is for data that has sparse angle increments which causes banding. I probably need to implement a better interpolation algorithm to fix this.

Below are some bugged images:

ies_bug ies_light1

Update: 10/02/2016

Managed to find the bug and fix it. The problem had to do with not using the shading frame to calculate the cosine.

// Wrong
float costheta = Dot(wi, LocalToWorld * intersection.GetNormal());
// Correct
float costheta = OrthonormalBasis::CosTheta(WorldToLocal * wi);

Corrected Images:

A render that uses both IES lights and a dome light in conjunction:

render-ies-envmap.png

 

Leave a comment