I was exploring certain limits of materials and found out that the rendered color has this weird cap for each channel → 13440.0110 and I really need to know where it comes from? Changing precision both in project settings and in material properties doesn’t change it at all, so it seems that it is hardcoded? If yes then is it permanent or it might be the subject of change in the future? And if not then does it depend on GPU driver? Can I rely on this value to be the same for all GPU vendors and engine versions(at least minor) in the future?
Hi @RazielZnot,
Where are you encountering this cap? Is this with the DebugFloat3Values node, or is this somewhere else?
I am also noticing this weird decimal value, but I am not encountering this cap.
I created a test material with very big value for emissive color and then I applied it to a mesh and made post process material with debug node to read the color value on that mesh, for it to read the value properly I set bendable location to Replacing the Tonemapper.
Ah, I think I found your issue.
The auto-exposure is being processed before the tonemapping, so your emissive material is not true to its original light value. If you turn off auto-exposure and set your exposure compensation to 0, you will see much more accurate values.
Interestingly enough, it seems that the auto-exposure lowers the brightness when overcompensating for bright lights, but does not significantly raise the brightness when undercompensating. I suspect that SceneColor will give you more accurate number readings of the emissive before exposure, but there’s not really a great way to preview that.
No matter the specifics, I would treat the values in your project as the de-facto limit, since your exposure is keeping your values from increasing and that will be consistent across your project.
Thanks for this information, I will take it into account.