is makeing Vulkan guis worth it?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

  • What I'm trying to get across is not a discouragement from experimentation or personal exploratory efforts, but instead firm words of advice to turn to existing solutions. In particular, ImGui and egui are immediate-mode hardware-accelerated GUI libraries that are easy to embed, so they resemble quite closely the GUI paradigm that you would have likely followed, had you chosen the path of rolling your own Vulkan-based toolkit.

  • vello

    An experimental GPU compute-centric 2D renderer.

  • It's unlikely to look modern if you make it yourself from scratch, you will probably end up with something looking more like a janky game UI. You probably at least want a good drawing library (like https://github.com/linebender/piet-gpu which is built on vuklan), if not an entire UI tool kit/framework.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nuklear

  • You might want to try Nuklear https://github.com/vurtun/nuklear or imgui https://github.com/ocornut/imgui , both to my knowledge have a Vulkan backend

  • swiftshader

    SwiftShader is a high-performance CPU-based implementation of the Vulkan graphics API. Its goal is to provide hardware independence for advanced 3D graphics.

  • You also don't get extensive support for various hardware for free – good luck running a Vulkan GUI on a pre-GCN AMD card or a sufficiently old NVIDIA one without a compatibility layer of sorts, which would require bothering with Vulkan Portability (i.e. missing certain Vulkan features due to it being implemented via an older API). The only alternative to that is SwiftShader (which would throw your extremely fast GUI aspirations right outta the window).

  • relm

    Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

  • Relm, Slint (formerly SixtyFPS), Druid and Iced are all very promising idiomatic GUI toolkits with a great deal of community activity around them, and all of those perform substantially better in the accessibility department than ImGui and egui, to my knowledge. areweguiyet.com can give you some more pointers as well.

  • slint

    Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

  • Relm, Slint (formerly SixtyFPS), Druid and Iced are all very promising idiomatic GUI toolkits with a great deal of community activity around them, and all of those perform substantially better in the accessibility department than ImGui and egui, to my knowledge. areweguiyet.com can give you some more pointers as well.

  • druid

    A data-first Rust-native UI design toolkit. (by linebender)

  • Relm, Slint (formerly SixtyFPS), Druid and Iced are all very promising idiomatic GUI toolkits with a great deal of community activity around them, and all of those perform substantially better in the accessibility department than ImGui and egui, to my knowledge. areweguiyet.com can give you some more pointers as well.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • iced

    A cross-platform GUI library for Rust, inspired by Elm

  • Relm, Slint (formerly SixtyFPS), Druid and Iced are all very promising idiomatic GUI toolkits with a great deal of community activity around them, and all of those perform substantially better in the accessibility department than ImGui and egui, to my knowledge. areweguiyet.com can give you some more pointers as well.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts