That's really neat! ImGUI has got to be one of the most satisfying GUI libraries to use, its fast, versatile and looks absolutely beautiful, so spreading it to even weird places is great!
ImGUI is great, but i wouldn't call it "versatile", it's too rigid to be versatile
It's too focused on desktop (mouse/kb), and you can't really theme it other than its colors and shape of the edges, doesn't support animations and you can't style the font, it's pretty basic
Dear ImGui is coming out of the game dev world and is mainly intended for specialised UI tools and debugging/profiling overlays in 3D games (or generally 3D apps), and for that use case it's just perfect and fixed a longstanding problem (for gamedev inhouse tools, it essentially killed C#/WPF and Qt overnight).
dear imgui is versatile in that it can be used in the sorts of programs that haven't traditionally been well served by existing desktop GUI libraries. (It also has a very convenient API that means you can cobble these GUIs together much more quickly than with most other libraries. So that's helpful too.)
lvgl looks like something you'd use for making the UI for the actual product. dear imgui is for the debug tools that get stripped out of the version you release. It's not intended for user-facing use, so there's no significant support for anything visually interesting. (The actual appearance of the UI isn't really even all that important. It just has to be not too weird-looking.)
Building SoCs with FPGAs, probably would have used chip planner or whatever the vivado equivalent is for amd/xilinx.
LiteX makes SoC design really accessible at a hobby level compared to those tools.
Interestingly there are no modification of the core Dear ImGui library involved. It's using a software renderer, which have been available already e.g. that one had been optimized to run on ESP32 https://github.com/LAK132/ImDuino
They are really cool/fun setup as well as being proofs of the portability of Dear ImGui but I imagine probably a little too taxing for the SoC involved. In the sense that if you were to want to use more of the SoC computational power it might feel like an unbalanced amount of resources to allocate to a GUI library (which normally expects a GPU).
12 comments
[ 3.3 ms ] story [ 37.6 ms ] threadIt's too focused on desktop (mouse/kb), and you can't really theme it other than its colors and shape of the edges, doesn't support animations and you can't style the font, it's pretty basic
Creating custom controls is a ton of work
Then you have libraries like this: https://lvgl.io/ (gh: https://github.com/lvgl/lvgl)
That's what i call a versatile GUI library
I never mentioned "limitation", ImGui is great for what it is, i wouldn't use lvgl to build my engine tools, i use ImGui actually
lvgl looks like something you'd use for making the UI for the actual product. dear imgui is for the debug tools that get stripped out of the version you release. It's not intended for user-facing use, so there's no significant support for anything visually interesting. (The actual appearance of the UI isn't really even all that important. It just has to be not too weird-looking.)
They are really cool/fun setup as well as being proofs of the portability of Dear ImGui but I imagine probably a little too taxing for the SoC involved. In the sense that if you were to want to use more of the SoC computational power it might feel like an unbalanced amount of resources to allocate to a GUI library (which normally expects a GPU).