-
-
Notifications
You must be signed in to change notification settings - Fork 21.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
Window transparency enabled + a hidden screen-reading shader over a Camera3D makes the game window semi-transparent #83939
Comments
This screenshot may be a better indication of what I mean. This entire 3D scene is rendered semi-translucent due to this issue (looks like additive blending?), the expectation is that all of this should be opaque. Note that I don't have any other of the "required" settings for a transparent window, like "per pixel transparency" (as per the docs: "For the background to be transparent, the root viewport must also be made transparent by enabling rendering/viewport/transparent_background." and "Note: This setting has no effect if display/window/per_pixel_transparency/allowed is set to false."), and I had only enabled the transparent window for the sake of having a transparent splash screen. |
This is due to the alpha channel being set to
You should be able to turn off window transparency in DisplayServer after starting the project. We should probably add a specific project setting that enables transparency only during the splash screen phase. |
Thanks for your response Calinou :)
This happens even when I manually do
I actually tried several ways of doing this to no avail, iirc this is everything I tried:
I'm guessing the last line does nothing anyway, and that's one of those settings that gets read only on startup? But it's there for good measure I guess. (I've tried waiting for both Is there another way that I'm missing? |
I have run into the same problem when attempting to enable Subsurface Scattering or DOF Blur; without these options enabled, transparency works as expected, but once either one is enabled, the problem reappears. Perhaps not coincidentally, both of these options are only available in the Forward+ renderer, which leads me to suspect that the issue has something to do with Forward+ renderer being enabled/used, at the same time as window transparency. Could someone who knows the renderer better than me speak to whether that even makes sense? When in Forward+ renderer mode, are parts of the renderer 'disabled' until a feature is used? Alternative version of step 3 to reproduce the problem: enable Subsurface Scattering on any mesh, or DOF Blur on your camera's attributes. |
Godot version
v4.1.2.stable.official [399c9dc], v4.2.beta3.official [e8d57af], Forward+
System information
Godot v4.2.beta3 - Windows 10.0.19044 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.3699) - Intel(R) Core(TM) i5-7600K CPU @ 3.80GHz (4 Threads)
Issue description
There seems to be a bug with sampling the screen texture when:
visibility
isfalse
It only seems to happen when all of these are true.
A workaround is to keep the node visible and instead set the alpha of its
modulate
to 0I think #78207 could be related, but I haven't found any other issue with this problem
Steps to reproduce
display/window/size/transparent
, and other settings related to transparency do not seem to affect this issue)Minimal reproduction project
Transparency Bug Minimal Repro.zip
The text was updated successfully, but these errors were encountered: