Washed out camera image and how to fix it

So when switching to linear color space the camera background gets washed out.
I modified the background shaders so the camera image gets transformed correctly back to Gamma Space and looks correct.

The Shaders are located under ARDK/Rendering/Ressources
ARKitFrame and ARCoreFrame are the ones that need to be replaced with the version below.

ARCoreFrame.shader (5.4 KB)
ARKitFrame.shader (5.2 KB)

The Camera Image now should be looking correct again and you still can use all the Post Processing stuff why you probably even changed to linear in the first place :wink:

The shaders can be replaced even if you use gamma, these have shader defines and will switch automatically to gamma or linear behaviour.
Also. I think this switching should be implemented in the ARDK Master build :slight_smile:

3 Likes

Found a bug inside the ARKitFrame Shader.
The dark color values where undershooting resulting in hot pixels because of overflow.
(Metal is just so weird)
So I clamped the color output at the end.
So here is the corrected ARKit Shader:
ARKitFrame.shader (5.3 KB)

2 Likes

Joshua you are a lifesaver! This works great! Hopefully, they will add this in a newer version.

Before

After

1 Like

This was a amazing fix, but it doesnt seem to work with current ARDK (2.1), all my 1.X projects this fixed it, but now when I replace the shaders it just renders the screen black on device. Any ideas to fix this now?

has this been resolved for 2.1? This is a huge issue we are facing, and are looking for a solution internally but would be great if a solution from lightship was found.

Still no fix atm as far as I know

Im currently on 2.0.0 and it still works.
Did they really change so much in 2.1?

Upon trying a different project the shaders seem to work perfectly. So it would seem the problem I was having was specific to the project I was trying it in.

Shaders still work fine, I apologize for the confusion