Render too bright?

Yes, that is most probably the issue, the problematic commit seems to be Render (ir)radiance probes if no other probes are set · armory3d/armory@656b018 · GitHub.

Originally, (ir)radiance probes were only correctly exported for environment maps, the hosek/wilkie sky model and color-only worlds. This became problematic when Armory got support for more complex world shaders, so now the probes are quickly rendered with cycles in the background and then exported and converted with cmft. There were issues with the brightness and I already made it a bit darker so that it looked correct for colorful world shaders. But it’s still too bright.

I’m not entirely sure how to solve this as I don’t understand much of the spherical harmonics math that is used for the environment probes (thankfully cmft does most of it), but we can probably tweak the brightness here. The old code is still around and I think is even used in some cases. For Hosek/Wilkie skies the coefficients are also divided by 2, for color-only worlds the floats are even multiplied with 1.13. A bit more background information can probably be found in the 2.9 update thread.

But maybe it’s not that easy to just multiply every coefficient by some value, maybe the brightness is not linear at all, I don’t know unfortunately.

The shader code for irradiance can be found here and IIRC it’s directly implementing formulas from some scientific paper. So I don’t think we should do adjustments there.

Edit: According to this vizualization and this blog article it could actually be sufficient enough to multiply band 0 with the wanted brightness.

1 Like