Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple Vision Pro washed out / lighter colors #5444

Open
dmarcos opened this issue Feb 3, 2024 · 8 comments
Open

Apple Vision Pro washed out / lighter colors #5444

dmarcos opened this issue Feb 3, 2024 · 8 comments

Comments

@dmarcos
Copy link
Member

dmarcos commented Feb 3, 2024

Might be gamma issues. Can test with any of the A-Frame examples and compare with Meta Browser.

@dmarcos dmarcos changed the title Apple Vision Pro washed / lighter out colors Apple Vision Pro washed out / lighter colors Feb 3, 2024
@dmarcos
Copy link
Member Author

dmarcos commented Feb 3, 2024

@mrxz
Copy link
Contributor

mrxz commented Feb 4, 2024

This is annoying. In theory all we'd have to do is set outputEncoding = THREE.LinearSRGBColorSpace on the WebXR render target. However, this isn't the case for all pre-existing supported devices, meaning:

  • A check is needed to determine if the device is an AVP or not, and depending on it set the output encoding
  • Shaders like the ones in aframe-environment-component won't output the correct colours on AVP (= requires changes)
  • Projects that require colorManagement: false will have incorrect colours on AVP
  • Projects stuck/still on older A-Frame versions will have incorrect colours on AVP

Not to mention, that if Apple changes it to be in line with the other implementations (or vice versa), any workarounds already in place will instead cause incorrect colours. Not sure what the best approach going forward is, but since WebXR is still behind a flag on AVP, I think an opt-in property or something would be safest, until it's clear if this behaviour is intended or not.

@dmarcos
Copy link
Member Author

dmarcos commented Feb 4, 2024

Seems might be due to Vision Pro displays being p3. Might need some spec work. Found relevant convo.

@dmarcos
Copy link
Member Author

dmarcos commented Feb 4, 2024

Short term hack might be necessary:

A check is needed to determine if the device is an AVP or not, and depending on it set the output encoding

@dlazares
Copy link

dlazares commented Mar 15, 2024

@dmarcos any updates on a fix for this? I had tried manually adding a gamma correction in a shader and it helped a little but wasn't great :s It's making our splats look sad in https://github.com/mkkellogg/GaussianSplats3D

@mkkellogg FYI

@dmarcos
Copy link
Member Author

dmarcos commented Mar 15, 2024

@dlazares This has to be fixed at the Safari / WebXR spec level not A-Frame

@dlazares
Copy link

thanks @dmarcos, tracking is here https://bugs.webkit.org/show_bug.cgi?id=270465 and also a short-term hack described in it as well.

@dmarcos
Copy link
Member Author

dmarcos commented Mar 15, 2024

Thanks. I've been told Apple team is aware of it and working on it. I think timeline depends whether it requires modifying the WebXR spec or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants