RexSystem1 voteoriginally by @Speykious on GitHub1 reply
I intend to make my own native desktop client for Fluxer using my own GUI framework with my own simple OpenGL renderer, all written in Rust. It's immediate-mode, cross-platform, has hot-reloading (thanks tosubsecond), supports stuff like unicode text (thanks to parley), text input and animations, and has a widget inspector. I still need to add some important things like a Metal renderer for MacOS (the OpenGL renderer is too slow on MacOS right now), some kind of way to make custom shaders (won't take too long) and accessibility (using accesskit), but apart from that it's pretty much usable.
Here's a demo of what I have so far.
https://fs.speykious.dev/showcases/uing/uing-demo-6e72fb7.mp4
Here's a smaller video demonstrating hot reloading since GitHub doesn't want to embed the previous video.
557966331-f897c6f9-6e17-40d5-9bc8-f37e503cd469.mp4
I'm not sure about "more lightweight", but it's definitely more modern than OpenGL (which has stopped receiving updates 8 years ago) and gives you a lot more fine-grained control. Problem is, I'd need to learn it, and that's gonna take a while... So I'm doing Metal first :p
And no, I don't want to use WGPU. It's way too much abstraction, and from my point of view it's yet another API to learn. I'd rather learn Metal and have something solid on all platforms, then add Vulkan after that. I can have a lot more freedom with my renderer by making this myself, and it's fine because I already have something that works.
Reply on the edit: Thank you :3
Edit: another possibility would be to use Core Animation, which was a friend's suggestion. Though it would require me to make a second renderer rather than add a backend to my existing renderer. I guess I'll look into it.
Thread
Comment by @Speykious
subsecond), supports stuff like unicode text (thanks toparley), text input and animations, and has a widget inspector. I still need to add some important things like a Metal renderer for MacOS (the OpenGL renderer is too slow on MacOS right now), some kind of way to make custom shaders (won't take too long) and accessibility (using accesskit), but apart from that it's pretty much usable. Here's a demo of what I have so far. https://fs.speykious.dev/showcases/uing/uing-demo-6e72fb7.mp4 Here's a smaller video demonstrating hot reloading since GitHub doesn't want to embed the previous video. 557966331-f897c6f9-6e17-40d5-9bc8-f37e503cd469.mp4Comment by @Speykious
Reply on the edit: Thank you :3 Edit: another possibility would be to use Core Animation, which was a friend's suggestion. Though it would require me to make a second renderer rather than add a backend to my existing renderer. I guess I'll look into it.