Rendering : IES format and ray files for lights

Created on September 12, 2023.

TL;DR

The viewer for intensity files in IES and LDT formats :
The renderer for IES file in a magnificent Cornell Box :
The viewer for IES TM25-13 ray set file format :

Introduction

This post is a follow-up of Rendering : Light Intensity Profile where I was computing the angular distribution of different glowing simple shapes. In reality though, luminaires are much more complex than that : one or several light emitting surfaces (the filament of a light bulb, a fluorescent tube, a LED, ...) are inside a more or less complex optical system made from reflective, transmissive and diffuse parts. The purpose of this optical system is to redirect the light so that it shines onto a specific surface or into a particular direction with a given brightness. The field of illumination is very important in our everyday lives, it englobes indoor and outdoor lighting but also car lights, luminous signage, etc.

Intensity

In this industry, the angular distribution of luminaires and other light sources is critical and a lot of time and effort is spent into designing the proper optical system to obtain the desired distribution and into checking that the lights respect the numerous national or international norms by measuring the angular distribution of real luminaires. The measured angular distribution is stored and shared into mainly three file formats that are text based :

  • the IESNA LM-63 (.ies) is the format prevalent in the United States of America.
  • the EULUMDAT format (.ldt) is mainly used in Europe.
  • the TM14 CIBSE Standard file format (.cib) is used in the United Kingdom.
There also exist others proprietary formats created by the many software dedicated to the planning, computing and visualizing of indoor and outdoor lightings. Luminaires and lamps manufacturers often provide the IES files of their products to download freely.

Even though there already exist software to visualize and plot intensity distribution files, I have made my own free online viewer. Moreover, I have devised a renderer that simulates the illumination of a room with a point light where you can input the intensity file. You'll find the links above.

Ray sets

The angular intensity of a light source is a far-field measure of its emission distribution. It is a simplification as the light source is observed from far enough so that it is reduced to a single point. In optics, you are "far" from a light source when the distance is at least 10 times larger than the characteristic dimension of the light which in most of cases is a sensible approximation. In reality though, the emission function is more complex than that and ends up being computed by optical design softwares into ray files. A ray file stores a list of rays starting from the emitting surface that are transported through the optical system. The recorded properties are : the position, the direction and the flux of the rays at the last surface as they leave the optical system. As for the intensity files, each optical design software has its proper format. The Illuminating Engineering Society has also devised its own standard : the IES TM25-13 ray set file format. Such a file usually stores millions of rays and is often quite large. It represents the complete distribution of flux emitted by the light source. The more rays there are, the more precise the emission function is represented. By integrating correctly, one can retrieve the intensity distribution.

Since I was struggling to view the ray set with Matplotlib because of the large number of rays, I've created an online interactive viewer that can handle a million rays. The performance will depend on your GPU though. You'll find the link above.

For the record, rendering a ray set is not a trivial task. The main techniques are either to use light field rendering methods or the very new radiance field rendering with neural network (NeRF). I may dwell into the implementation of such a technique one day but that will be for another post.

References

Here are a few references you may like to check. You'll find more on the infobox for each viewer.

[1]   Light Zoom Lumière https://www.lightzoomlumiere.fr/sur/ies/. Accessed on 12-10-2023.

[1]   International Commission on Illumination https://cie.co.at/. Accessed on 12-10-2023.