-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
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
Video textures look washed out in safari starting with version 0.152.0 #26516
Comments
I can reproduce on macOS 13.4.1 with Safari 16.5.2. It seems the texture indeed ignores the https://codesandbox.io/s/white-snow-77vjd8?file=/src/index.ts:744-1348 Is |
https://threejs.org/examples/webgl_video_panorama_equirectangular shows the same issue. FF is fine, btw. |
Any updates on this? Running into the same problem with a 360 Video – based on https://threejs.org/examples/webgl_video_panorama_equirectangular Insights / ideas would be much appreciated. Edit: oops, just seeing this issue was created 6h ago. Sorry, don't wanna be impatient. But +1 for this issue :) |
@donmccurdy Given the broken Webkit support and #26183, I think it's best for now to revert #25752. I originally did not want to go this route but the current situation is simply not acceptable. The fact is, video textures can't be properly used in production without patching the built-in shaders like in #26516 (comment). I also doubt that the browser vendors will soon fix their issues so we need a fix in the engine. |
@cankahya Until there is a fix in the engine, use the workaround from #26516 (comment). |
Thanks for the quick reply. This solution will do for now! 👍 |
@Mugen87 Agreed — seems like inline sRGB decoding is still necessary for video textures. 😔 |
@Mugen87 You are my hero! Thank you, I didn't get that on the first read. Thanks for pointing that out again!! Works like a charm. |
So this is broken on Webkit, is there already a webkit issue about this? |
It seems there is no bug reported yet. At least when searching for https://bugs.webkit.org/buglist.cgi?quicksearch=SRGB8_APLHA8 |
I've filed a bug today: https://bugs.webkit.org/show_bug.cgi?id=259768 |
I have a worry that there may be no performant way for browsers to implement this on their side. I suspect the issue is that the underlying video texture comes straight from the video decoding hardware. In order for the browser to perform the conversion to linear then I think the only options available to them would be:
If they're already doing 2 then it may not incur very much any additional performance cost than there already is, but it does require the browsers to do the correct conversion in that intermediate shader. |
sRGB decoding is a standardized feature of WebGL, and works in other browsers. If there's a reason browsers cannot implement it efficiently, then the feature should be evicted from the standard. But I expect it's just a bug, lots has been changing in Webkit's WebGL implementation over the past few years. |
I agree for sure :-) I think the reason things might be different for video textures is that accelerated path straight from the hardware decoder. Hopefully I'm wrong and it can be implemented in a performant way :-) |
Description
Video textures look washed out in safari with mesh basic materials (Version 16.3/18614.4.6.1.6). In Chrome the texture colors look fine. Setting the texture colorspace to
SRGBColorSpace
doesn't seem to make any difference.Related to the changes in color management in version 0.152.0.
Live example
Screenshots
Safari
Chrome
Version
0.155.0
The text was updated successfully, but these errors were encountered: