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

What is the reason the same cannot be achieved with only egui? #25

Closed
FreePhoenix888 opened this issue Feb 26, 2024 · 2 comments
Closed

Comments

@FreePhoenix888
Copy link

I am sorry to ask here in issues but Discussions are disabled for this repo

I have found this repo because I have been trying to make transparent always on top click-through overlay by using egui and it was not as simple as I thought. Here is my discussion there: emilk/egui#4096

I wonder What is the reason the same cannot be achieved with only egui?

@coderedart
Copy link
Owner

I wonder What is the reason the same cannot be achieved with only egui?

You probably mean eframe which uses winit. I have no idea TBH.

When I first needed this passthrough functionality, winit didn't even have the feature. So, I looked at glfw and it had the passthrough feature in its master branch (unreleased). I just patched stable glfw's code with passthrough functionality and started using it.

Eventually, winit did gain the passthrough functionality, but because of long compile times, I had already moved on from crates like winit/wgpu in favor of glfw/glow. In particular, opengl transparency was more consistent compared to wgpu (vk/dx/mtl backends).

eg: Nvidia + vulkan on linux won't give you a transparent surface as the drivers don't support it. Yet, transparency works because its a mesa/X11 bug and nobody cares to fix it. https://gitlab.freedesktop.org/mesa/mesa/-/issues/6007 🤣 vulkan transparency on Nvidia/Linux is a bug!!!

So, all I can say is that this is a niche feature and nobody's probably bothered to test it properly on eframe. There seems to be some an issue already open at emilk/egui#2537 , maybe you should try looking into that.

If possible, you should provide the full source that can serve as a minimally reproducible example. You can try using renderdoc to check if the window is actually drawing anything. It would even be better, if you could take the egui repo and enable passthrough in one of its examples and check if its working.

I will close the issue, but you can still continue asking any questions you might have. I am also on egui's discord (as Red Artist) if that feels easier to communicate.

@FreePhoenix888
Copy link
Author

Thank you very much for your time, @coderedart, it was easy-to-understand!

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

No branches or pull requests

2 participants