-
-
Notifications
You must be signed in to change notification settings - Fork 6
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
GPU driven UI #17
Comments
what server does the discord link point to? Without the server invite, I cannot reach that message :( |
@coderedart The server is "Graphics Programming" |
@coderedart and thanks for following along :) |
There is a rudimentary |
The link is wrong. https://crates.io/crates/renderling_ui And docs.rs failed to build :( https://docs.rs/crate/renderling_ui/latest |
Should all be up and running now @coderedart :) |
Similar to how 3d scenes are "GPU-driven" (in that the textures, geometry, entities - the whole lot - are stored on the GPU in buffers), I'd like to do the same for 2d scenes.
(Answers from the future are annotated with 🔮.).
Complaints about the current landscape
A recent blog post has had a lot of attention lately that describes some of the pain points of picking a Rust GUI library.
The post kinda boils down to:
winit::ControlFlow::Poll
, you can waitAdjacent work
The Zed team has been working on "GPUI" which seems to be a similar idea to what
renderling
could be.I like the idea of using SDFs for drawing primitives.
(🔮 SDFs are hard because there is no great abstraction for all of them apart from using a texture)
What to do here
At the very least we could provide a "GPU-driven" 2d render graph. This would allow downstream libraries to build well performing GUIs on top.
Requirements / Obstacles
We could parse fonts into contours (possibly with font and then store the glyph as a collection of beziers that we shade with an SDF - similar to what I did with gelatin usingFontyFruity
.UiText
and then stored in theAtlas
. After that it's a BAUHybrid<Renderlet>
setup.The "dynamic" spots of text could be limited by a max length, making them storable in a buffer likeGpuVertex
.https://discord.com/channels/318590007881236480/318590007881236480/1108469439168532540
The text was updated successfully, but these errors were encountered: