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

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s