So I was migrating my cave package from 4.7 to 4.9.2 and for some reason everything was really dark:
and it really confused me, then I remembered an older answerhub post where I reported a bug about 16 bit png’s not being able to export out of ue4.
So I changed the png’s to 8 bit and didnt import them untill this migration.
In unlit mode the same scene looks like:
the scene on the left has PNG 16 bit @ SRGB.
The scene on the right has PNG 8 bit @ SRGB.
now, lets change the PNG on the right to PNG 8 bit @ RGB
(Edit: just noticed I flipped the image…)
that must be a bug right?
(edit: ignore the version’s mentioned in the image, I thought that was the issue at first)
So to understand, you had a project in an older version of the engine, when you migrated the project the scene became really dark.
Now, when you migrated projects you had 16bit png textures for your materials. When you changed those to 8 bit then the scene was darker after migrating. You also didn’t add these textures until after the migration.
I just attempted the same step and I was unable to see what you are posting.
Do you have any reproduction steps or perhaps a copy of this project and I will see if this is reproducible.
Oh, it has nothing to do with the version of ue4, as I pointed out in the “edit”.
This is always the case.
Migrating had nothing to do with it, I just happen to import the 8 bit versions afterwards.
(Next time I should probably refrain from telling a story before I get to the point)
I also noticed that I made a typo in the previous post causing confusing, so…
get a random texture.
save one version as 16 bit png.
save another one as 8 bit png.
import both.
already see the result, the 16 bit png is washed out. (srgb is automatically activated)
The engine doesn’t currently support 16-bit sRGB textures. When we’re doing the texture compression, all 16-bit textures are sent to the DDC as linear textures, regardless of the sRGB option. However, I suspect that there’s some miscommunication in the pipeline.
When the GPU reads an image that was stored linearly, but the option for sRGB is still true, so it expects that to be the case. As such it effectively double gamma corrects the image (hence the washed-out-ness).