3 ms·
Dear ImGui is for development/debug tools, not an UI for the end-user. It's great for small projects as long as you don't care about accessibility, or proper ke
by elpocko 2y ago
Dear ImGui is for development/debug tools, not an UI for the end-user. It's great for small projects as long as you don't care about accessibility, or proper keyboard support, or adherence to standard UI conventions, or support for devices without GPUs, proper font rendering, etc. ...
- bun_terminator 2y agoimgui offers incredible development speed. And I've used it many times with great success. It's unorthodox yes (and there's a long-open bug I won't talk about again) but it's dear to my heart. It's like MFC on steroids: You don't have to leave C++. But yeah at least a few of those caveats remain. Although keyboard navigation and font rendering have quite a bit of support.
- fuzztester 2y agoDue to what reasons does imgui offer incredible development speed?
- bun_terminator 2y agoBecause adding a text is just a imgui::text("abc") function call. And a button is just an if(imgui::button("click me")) do_something() statement. There is no other language involved, no markup, no gui editor. Just direct code and highly hackable to make this extend to unexpected lengths.
- fuzztester 2y agoThanks, got it.
- masfoobar 2y agoTo add to this, I find it easier to have a simple while loop that renders the screen, fetching variable data on-the-fly, etc. It is rather pleasing to the eye to understand the layout with IM interfaces, etc. Comparing this to (something like) WPF, you create XAML files, with either or combination of ViewModels and back-end code to "bind" and can get complicated quickly. I guess the only exception to this is if you have commited to WPF non-stop for many months. However, with IM interfaces, its easy to get going (imo)
- userbinator 2y agoIt's also suited to games, where "non standard" UI is expected and part of the experience.
- delta_p_delta_x 2y agoMost games don't use ImGUI, though. Like the parent commenter said, it's useful for debugging, but the actual in-game UI—HUD, inventory, map, etc—is usually rendered by yet another middleware framework like Scaleform, or something that the engine provides (Unreal or Unity).
- spookie 2y agoNuklear is sometimes used. Anyhow, I do know of some game engines created and used by a (very large) game studio that uses ImGUI. I won't say anything else though :)
- NekkoDroid 2y ago> I do know of some game engines created and used by a (very large) game studio that uses ImGUI. It often isn't a secret: https://github.com/ocornut/imgui/wiki/Software-using-dear-imgui https://github.com/ocornut/imgui/wiki/Software-using-dear-im...
- summerlight 2y agoThis is true. There is a reason why Scaleform made its way to become a popular gaming UI framework even though many of its weakness. The most important focus in game UI framework should be on tools and pipelines for artists/designers and this is usually not up to engineering decisions. I won't say that using ImGUI for game is impossible, but there might be lots of tooling works ahead for production game development.
- ranger_danger 2y agoImHex uses it for the entire UI
- artyn 2y agoThere is also furnace[0] and mmlgui[1]. Which are recently developed programs that people have been using to create chiptune music for retro video game consoles. Including being used by Yuzo Koshiro[2]. [0] https://github.com/tildearrow/furnace https://github.com/tildearrow/furnace [1] https://github.com/superctr/mmlgui https://github.com/superctr/mmlgui [2] https://x.com/yuzokoshiro/status/1800554520256360794 https://x.com/yuzokoshiro/status/1800554520256360794
- oblio 2y agoAnd that's a dev/debug tool, just as explained by OP.
- throwaway2037 2y ago> proper keyboard support Specifically, what does this mean?
- TJSomething 2y agoI currently see two international keyboard issues: - French Keyboard and Backend SDL2 - Several keys are not checkable with IsKeyDown - Wrong ImGuiKey keydown indexes reported from Win32 backend for some keys when using UK keyboard with UK keyboard layout There are also 2 issues with IME: - Marked Text / SDL_TEXTEDITING Event / IME Composition support - Backspace handling by text widget in default Windows IME environment.
- throwaway2037 2y agoExcellent reply. I did not consider international keyboards when I writing my reply. And gaming companies are definitely targeting international markets in 2024!