Hi,
I am having very hard time creating IBL setup in UE4. I want to use HDRI .exr map with sunspot which has realistic exposure. When I import my map, put it as an emissive material on my sky sphere and use SkyLight to create illumination of it, I get very bright and incorrect result:
Now, this makes sense, since UE4 is a realtime renderer, so it can't compute sharp shadows from HDRI map, and Directional Light needs to be used as a stand-in:
When I insert Directional Light with angle and intensity matching the sun disc captured on the HDRI map, I get all wrong result. Everything is bright, washed out and shadow is gray instead of blue. This is due to the fact that the sun illumination is now effectively present twice in the scene. Once by accurate, sharp Directional Light, and once by SkyLight blurring the hell out of the super bright HDRI spot on the HDRI map and wrapping it around the normals of meshes.
To fight this, I can simply clamp the HDRI map, so that the illumination from the sun is in the scene only once, from the Directional Light which can provide proper shadows:

Now, you can see that the illumination looks much better. Indirect lighting is blue, as it is not compromised by being averaged by the super bright value of the sun disc on HDRI map, and the correct sharp sun illumination is supplemented by directional light. It appears to be working but falls apart as soon as I view my HDRI map directly:

Clamping of the HDRI mam did solve the double illumination issue, but also completely ruined the dynamic range of the environment when viewed directly. Here's how it looks unclamped:
Much, much better with correct HDR intensity to help us get secondary optical effects such as flare and bloom right. But at the same time, this will mean return of the incorrect scene illumination, being doubled again.
The first obvious way to tackle this would be to use "SLS specified cubemap" feature of the SkyLight, but it appears to be very obsolete, as it accepts only bitmaps defined as cubemaps, yet UE4 doesn't define any imported bitmap as cubemap, be it EXR or HDR.
My question is, is there any way to get this right for both illumination and direct visibility without any ridiculous overcomplicated and time consuming workarounds?
Thanks in advance.
I am having very hard time creating IBL setup in UE4. I want to use HDRI .exr map with sunspot which has realistic exposure. When I import my map, put it as an emissive material on my sky sphere and use SkyLight to create illumination of it, I get very bright and incorrect result:
To fight this, I can simply clamp the HDRI map, so that the illumination from the sun is in the scene only once, from the Directional Light which can provide proper shadows:
Clamping of the HDRI mam did solve the double illumination issue, but also completely ruined the dynamic range of the environment when viewed directly. Here's how it looks unclamped:
The first obvious way to tackle this would be to use "SLS specified cubemap" feature of the SkyLight, but it appears to be very obsolete, as it accepts only bitmaps defined as cubemaps, yet UE4 doesn't define any imported bitmap as cubemap, be it EXR or HDR.
My question is, is there any way to get this right for both illumination and direct visibility without any ridiculous overcomplicated and time consuming workarounds?
Thanks in advance.
Comment