Non-axially symmetric IES files

The IES file specification allows for a couple of types of symmetry:

  • A single slice revolved around 360° for axially symmetric beams (spotlights, floodlights, downlights)
  • A 90° region mirrored across both axes (most linear fluorescent fixtures, including typical office troffers and pendants)
  • A 180° region mirrored across one axis (wall washers, anything with a “forward” direction but identical left and right)
  • A complete set of angles from 0-360° (not very common)

Right now UE4 looks like it only supports the first type, but it would be really great for making more convincing environments if the others were supported. Especially on the arch-viz side of things.

Once you go beyond spotlights and downlight cans, it’s very common for lights to have drastically distributions in one direction than another. As an example, the distribution below represents a pretty standard linear uplight pendant, which are used in a lot of offices. It has a much wider distribution along its width than its length.

8104-ies_symmetry.png

I suppose I should look into rendering lightmaps outside of UE and importing them, but is more complete IES file support on the roadmap? I understand there are some new complications in needing to worry about the rotation of a light along one more axis, interpolating along two angles, and not being able to store the intensities as a flat list, but it would be a very welcome addition.

Thanks!

This limitation is on purpose to allow more optimizations a bit later (pack all IES into a small atlas to use it in tiled deferred or forward+ passes). Using 2D textures will make this process much more complicated and less efficient.
We could keep the 2D textures out of that optimization. If you want to add 2D propfile - it should not be difficult to implement as the 1D code is already there. We could integrate (we care about low code complexity and no extra performance loss). Keep in mind 2D textures cost much more memory and mip mapping might add another level of complexity or performance issues.

Thanks for the quick response!

Definitely makes sense as an optimization, and I can see why you’d have made that tradeoff. That said, even taking 3-4 vertical slices and interpolating might be passable from a visualization standpoint without adding large 2D textures for the complete IES file, so maybe it’s doable without being hugely inefficient. I’ll have to try chopping up some IES files and seeing how obvious it is that they’ve been simplified.

I’ve worked on some relatively simple lighting software back in college (loading IES files, positioning and rotating grids of lights, and calculating the direct component in a rectangular room), but C++ isn’t a strong point of mine. Still, if I pick C++ back up I’ll take a look at it.

In the meantime, if anybody else wants to take a shot at this, I’m happy to provide any help that I can!

Is there any progress with Non-axially symmetric IES files in Unreal Engine 4?

For architectual visualization pendant, wallwashing & linear photometrics would be a great advantage in UE4.

im trying to do the same . i found the IESLOADER in engines codes . but im not sure what to change so it loads 2d ies. any progress??

Hi. I’m having the exact same problem now. I would like to run a simulation with modern streetlights and the Unreal Engine just doesn’t seem to allow for the complex distribution of the .ies file for the streetlight. Does anybody know of a workaround for this maybe? We should be able to change it in the render settings or something?