Open ocornut opened 5 years ago
I've been using Dear Imgui to make a simple editor for my game engine.
We are using Dear ImGui to test our inhouse GUI library. Here is a custom plotter hooked up to dear ImGui's drawing api.
imGuIZMO.quat a object manipulator / orientator ImGui widget.
Allows to manipulate a 3D object adding only 4 code lines! (and ImGui, of course)
Now it's full standalone, with internal Math set is completely loose from 3D engines or frameworks, and you can decide to use TEMPLATE or NOT TEMPLATE internal classes (via compiler #define
) ... or intefacing it to glm Math Library (always/only via compiler #define
).
Full configurable:
It's fully used also in glChAoS.P / wglChAoS.P to manipulate objects, lights, and clipping planes:
Also live WebGL2 demo to explore all features: Live WebGL2 demo LINK
openblack is using imgui and recently we've been experimenting with performance metrics for our profiler. Mainly, we wanted flame graphs.
I've seen a few in the past galleries, but this is one we've worked on and the code is open.
The function signature is similar to PlotLines
and PlotHistogram
void PlotFlame(const char* label,
void (*values_getter)(float* start, float* end, ImU8* level, const char** caption, const void* data, int idx),
const void* data, int values_count, int values_offset = 0,
const char* overlay_text = NULL,
float scale_min = FLT_MAX, float scale_max = FLT_MAX,
ImVec2 graph_size = ImVec2(0, 0));
Pluribus Poker Bot
A more recent screenshot of the Tracy profiler (https://bitbucket.org/wolfpld/tracy)
Made a custom file dialog using dirent. I think someone already has made it, but hey... doesn't hurt to have an alternative xD Just didn't like the style of the already existing ones, no offense meant. Here is a repo to the widget if anybody would like to use it. Thanks to sandy the code was tested on linux and works fine without any critical issues.
My experimental Vulkan game engine's editor. Docking is heavily used,
Just spotted this ... https://youtu.be/atcKO15YVD8?t=85
Just spotted this ... https://youtu.be/atcKO15YVD8?t=85
Original from Ubisoft La Forge:
https://youtu.be/yjEvV86byxg?t=113
EDIT: Another one from a scientific paper (at 2:00): http://www.dgp.toronto.edu/projects/cubic-stylization/video/cubeStyleVideo.mp4
BabylonCpp - a C++ port of Babylon.js - is a 3D game engine, still in under heavy development, whose GUI is based on Dear ImGui.
It includes a graphical inspector for all 3D objects:
An interactive playground for live coding and experiments
and more than 200 examples
Demo video:
I've been using ImGui in many personal projects ; a thousand thanks to all the contributors!
MIDIVisualizer is a MIDI files viewer with many customizable visual effects. ImGui has helped me hierarchize options to keep things simple for the users.
PRPViewer is a viewer for some game assets (from the 3D games in the Myst series).
Finally I'm using ImGui in my OpenGL playground, Rendu. My use is pretty basic for now, but the ability to add arbitrary shapes to the draw list was super useful for the controller mapping editor.
From this Streets of Rage 4 dev diary: https://www.youtube.com/watch?v=tF-rMNY0fBk
EDIT Tweet https://twitter.com/Guard_Crush/status/1208050181062692867/photo/1
I've been using ImGui to create an editor for my engine, heavily relying on dockspaces.
Using https://github.com/juliettef/imgui_markdown as help viewer for Visual6502 Remix with internal and external links:
...and some animated 8-bit font rendering via ImGui's ImDrawList :)
(go here: https://floooh.github.io/visual6502remix/, and in the menu to "Help => About")
An updated version of my particle editor powered by the nCine, now with FontAwesome icons! :wink:
My game engine so far
Was hacking Warhammer: Chaosbane today and noticed they use ImGui (in secret) with their in-game debug tools.
https://i.imgur.com/ZVZIxax.jpg https://i.imgur.com/ljPUObz.jpg https://i.imgur.com/me5V5h8.png
Can add them to the list of software using ImGui.
Game link: https://store.steampowered.com/app/774241/Warhammer_Chaosbane/
ADMIN Attaching pictures.
Just for lulz: Dear ImGui in a text terminal:
Nothing too fancy atm, but there's progress. I'm in the making of a 2d game engine. Implemented steamworks. Just started with imgui, everything is new to me atm
Edit: 2019-12-11 @ 10:05
Edit: 2019-12-13 @ 01:11
I've been using Dear ImGui to make a small tool that allows me to tweak various parameters regarding 24bits RGB image color reduction to the c64 palette (16 colors). A few popular dithering algorithms can be chosen.
The tool also communicates with my custom c64 cartridge via USB ACM (virtual com port). When a parameter changes in the GUI the new converted image is transferred to the cartridge and the result is shown by the c64 instantly, allowing smooth real-time tweaking.
In particular i used the tool to generate each frame of this video : https://twitter.com/sensasonic/status/1206893021461143552
Sculptron https://render.otoy.com/forum/viewtopic.php?f=7&t=73278
nCine game engine https://ncine.github.io/
Ubisoft are now a Platinum sponsor of Dear ImGui ! <3
Blog post https://montreal.ubisoft.com/en/ubisoft-sponsors-user-interface-library-for-c-dear-imgui/ https://montreal.ubisoft.com/fr/ubisoft-commandite-la-bibliotheque-dinterface-utilisateur-pour-c-dear-imgui/
"Ubisoft has used Dear ImGui in the last two years on several AAA projects. Adopted by the Assassin’s Creed team in 2016, and then by Rainbow Six a year later, it has been described by team members as a great tool that enables fast iterations and the empowerment of programmers to create content creation tools and visualization.
“Dear ImGui is an elegant immediate mode GUI that fundamentally changes the way that production and debug tools are developed at Ubisoft. This productivity library is an amazingly efficient way to increase the quality of these tools,” says Nicolas Fleury, Technical Architect on Rainbow Six: Siege."
Rainbow Six:
Thanks to a tipster on Reddit, spotted in Red Dead Redemption 2 credits:
Around 1:58:44 here https://youtu.be/cohae4iNe4Y?t=7124
Proud to announce a first, I think :) IMGUI inside an after effect panel. The sky is the limit now :)
tacit-texview, a texture viewer for game devs by Tristan Grimmer (who made the ProggyClean font used as the fault dear imgui font!) https://github.com/bluescan/tacit-texview
"This viewer is useful for game devs as it displays important information like the presence of an alpha channel and querying specific pixels for their colour." [..] "Support for viewing dds files is implemented -- you can view all mipmaps if they are present, and see cubemaps in a 'T' layout." [..] "Tacit-texview can be used to generate contact sheets for flip-book animation. "
I have been using Dear ImGui to make a scene editor for my off-line renderer
This project https://github.com/maildrop/DearImGui-with-IMM32 Implement an interface to Microsoft Windows's IME (Input Method Editor) to be able to display and interact with IME suggestions (for languages such as Japanese) within Dear ImGui:
The reason this is useful is that Microsoft's IME otherwise only display in Windowed application and not in Fullscreen application, so that UI needs to be implemented manually. We could envision implementing standalone version of that in imgui_club/
some day.
@ocornut IMM32 as a standalone version in imgui_club sounds great! Should I open a feature request as an issue?
@hsdk123 there’s no need for a feature request its already in my list among with hundreds of other stuff. As-is it needs someone to deep dive in the code to clean it up, right now the repo contains too different things.
We are using Dear ImGui for fast prototyping some of our games, this screenshot is for a turn based card game project (Raiders of Ur- https://www.reddit.com/r/RaidersOfUr/).
@iurisaki this is very interesting! Can you comment more about your experience using Dear ImGui for in-game UI? How much work was it? Do you reimplement most controls or do you manage to salvage any of existing ones? Any particular problems you bumped into? Anything else of interest?
About the experience using Dear ImGui , i suppose you can say it was the tipycal approach, confused and fearsome at the begining, but with some work and the help of the example, we have acomplished all you can see in the screenshot without editing any line of Dear ImGui. Minor details like being unable to give windows negative coordinates we think is a bump to make proper animations, but the overall experience was very please.
Minor details like being unable to give windows negative coordinates
@iurisaki : You can perfectly give negative coordinates to a window. Windows by default are clamped to stay visible the screen so they cannot become "lost" but if you call SetNextWindowPos()
on that window every frame it will overridde that clamping. Presumably if you are animating a window appearing this shouldn't be a problem. If you are further question about it don't hesitate to open a separate issue for it.
"Public beta of the Light Tracer standalone version is open at http://lighttracer.org! [...] we were able to reuse both GUI and renderer code for web and desktop versions" https://lighttracer.org/
Just wanted to point out, looks like the official Azure Kinect SDK is using IMGUI :)
https://docs.microsoft.com/en-us/azure/Kinect-dk/sensor-sdk-download
Video: https://imgur.com/a/Lk4vl11
my menu on imgui
It almost looks like a web app with CSS. Quite impressive. Are you using a public fork of Imgui?
Another impressive use of Dear ImGui can be seen in PARSEC "Our entire UI has been built with imgui and deployed on 7 platforms (including the web/emscripten), it's an amazing thing you've done!" https://parsecgaming.com/features/#features
A first pass of the GUI for WhiteBox (my WIP live C(++) debugger/REPL): https://www.youtube.com/watch?v=lZX8I0w7jJ4
(Aside: I think I fixed a bug in the histogram plotting, I'll send in a PR)
ImGuiFontStudio is a tool for create Font Cpp header for have icons in ImGui easily like this project but with a Gui and with more settings. Will be Cross Platform : Win/Mac/Linux My final goal is to have theses possibilities in one easy opensource app:
I use ImFontAtlas for generate the atlas and a modified version of stb_truetype for get the glyph names (the "post" table of the ttf is not supported in the lib for the moment)
See a quick video here
A familiar looking UI framework seen in the latest Microsoft Flight Simulator vlog 😄
nVIDIA is converted to dear imgui goodness...
from: https://devblogs.nvidia.com/bringing-hlsl-ray-tracing-to-vulkan/
A familiar looking UI framework seen in the latest Microsoft Flight Simulator vlog 😄
The video in question is https://www.youtube.com/watch?v=10P21oFOxAU&feature=youtu.be&t=481
nVIDIA is converted to dear imgui goodness...
Their framework Omniverse use Dear ImGui for tooling UI https://developer.nvidia.com/nvidia-omniverse https://www.youtube.com/watch?v=nF_bue13vNc
Working on some visual node graph editing, imgui has been amazing so far 🙂
Working on the blueprint editor.
This is Part 10, I am splitting issues to reduce loading times and avoid github collapsing messages.
Browse all threads and find latest one to post to using the gallery label.
Also see: Software using dear imgui (you can help complete the list!)
You can post your screenshots here!