Lumen has a more yellow hue than pathtracing

In a totally white room with a white point of light, the global illumination should look white, right? In path tracing it happens that way, but in lumen it looks more yellow.


pathtracing


lumen

How could I make lumen bounce light without adding a yellow tone?

Simple.
Add a PostProccessVolume to your scene and adjust the color grading or something similar.

but that would change the color of everything, the colors of the objects and the direct light, and also the color in the patch tracing, the thing is that I want lumen not to put yellow tones on the bounces of light

Then try to change the material colors.

How are you lighting the scene? Usually when there is a disparity it’s a sign that one of the rendering methods doesn’t support a particular feature.

absolutely everything is white, and I’m using the default lumen configuration, and that happens in all renders, if you google lumen vs path tracing, lumen has a more yellowish hue

all default with lumen and hadware ray tracing

Yeah, from my experience Path has always had a more blueish meanwhile Lumen likes it more warm. Try to change your light source(s) tempture maybe?

Anyways, remember that not a single object in real life has 0.0 or 1.0 of color (1.0 being white and 0.0 being black^)
So if you are going for realistic white color on the material take something near 1.0 but never at the top. Example: 0.98

Yes, I know about the albedo, the material for the walls is a 0.95 white, and about the warmth of the light, it would only be a way to counteract the yellow hue, but I wouldn’t change it, it’s the same as the color grading, Isn’t there a way to modify how the color of the light bounces in lumen is calculated?

I noticed it too. And if you change a “common” Unreal parameter, you will change the Lumen appearance but also the Path Tracing one, so those solutions are not useful.

It’s because multiple bounces are cached in a float_11_11_10 texture, which has one bit less precision for blue, so every next bounce will become a tiny bit more yellowish.

In practice it doesn’t happen often as albedo values shouldn’t be set so high. E.g. white paper sheet has albedo of 0.6-0.7 (in linear space). So after a few bounces even pretty white surfaces won’t add much to lighting. E.g. 0.6x0.6x0.6x0.6=0.13 so 4th bounce for a quite bright surface would add only 0.13%.

8 Likes

I understand, in shader toy I tried the values ​​11 11 10, and if it gives a coloration just yellow, but I tried the values ​​10 10 10, and everything is white, is there any way to cache the bounces in a float_10_10_10 texture?

There’s no float_10_10_10 texture available in hardware. We would need to either use 64bit float_16_16_16 (doubling bandwidth and memory) or try some smart quantization before writing values to texture. Thought it’s quite low on the priority list as my understanding is that this shouldn’t happen with more realistic scenes and albedo values.

2 Likes

I just found a solution for the moment, calculating that there are 9 possible precision errors in the blue color compared to the other colors, the average would be that 4.5 of blue is lost, so for each bounce I would add 4.5% of blue, and I think it would be very close to path tracing


Path tracing


lumen


lumen with blue correction

2 Likes

I thought this was kind of an interesting thread so I decided to give a spin implementing this on the material level just to see what happened…
Top Left: Path-tracer
Top Right: Blue-Shifted Lumen
Bottom Left: Original Lumen
Bottom Right: Blue-Shifted Lumen with Short Range AO disabled since it seemed to over occlude in this scene compared to the path-tracer.


This is simply using an RT switch to multiply the base color of the material by ( 0.975, 0.975, 1.05) during the raytracing pass only, causing reflected light to be slightly bluer than it otherwise would be. In this example the base color was (0.7).
Definitely seems to bring things closer. But the downside is it also impacts raytraced reflections. This makes the transition between screen tracing and ray tracing more noticeable.

2 Likes

Because screen tracing is also yellowish?

Maybe the way could be making Path Tracing more yellowish too :innocent:

PS: very interesting researching over here! Thank you all :slight_smile:

Because it will tint the base color blue in raytraced reflections, but the screen trace will not be tinted as the base color in the rastered view will be white.
Regardless, I could see this being a worthwhile compromise in some scenes - reflections being slightly too blue in exchange for GI not being too yellow. Unfortunately I don’t know of a way to alter the material on the GI bounce but not on the reflections.

Anyway it seems like a super useful beginning! (Or even a worthwhile solution, as you mentioned).

Did @IbexKitten use the same method?

yes but only for the lumen bounces, multiply the color by (1.0, 1.0, 1.045), I got that result trying different scenarios with very high saturation to compare more easily with the path tracing, if I add more blue, it will look more blue than path tracing, and if I add less, it will look more yellow

Thank you! But how/where do you set those values?