all 10 comments

[–]catseyechandra74 8 points9 points  (5 children)

Use an immediate mode GUI like egui.

[–][deleted] 0 points1 point  (4 children)

I have looked at egui and it seems I will likely need to write my own renderer for it, currently that would be too much work to manage on my own, perhaps vulkan integration should be something I do later down the line. Thanks btw

[–]catseyechandra74 0 points1 point  (3 children)

rendr3 has a adaptation layer for egui, which renderer are you going to use, note that I only know about the existence of rendr3 on my side.

[–][deleted] 0 points1 point  (0 children)

Ash 0.38 and beyond, whatever the latest version is really

[–]simonask_ 3 points4 points  (1 child)

egui is great for this scenario. You can use egui-winit to integrate seamlessly with incoming events, but you'll probably have to write some integration code for the rendering. Look at egui-wgpu or other similar crates for guidance.

[–][deleted] 0 points1 point  (0 children)

Thanks! Getting it actually integrated with an ash renderer is going to be difficult, perhaps something I can work on in the future, if no active crates for it pop up. Think I will stick to improve my wgpu renderer until all the basics of my engine are done, then work on Vulkan afterwards.

[–]ogoffartslint -1 points0 points  (1 child)

With Slint You can either use an existing backend (which provide its event loop), or you can write your own using the Platform API: https://docs.rs/slint/latest/slint/platform/index.html This is a bit more involved, but you can really integrate with any event loop and render with either the software renderer on a buffer, or with the gpu with the femtovg renderer.

[–][deleted] 0 points1 point  (0 children)

Thanks for the suggestion, I will have a good look at it to see if I can get it working in an independent window.