imgui
imgui copied to clipboard
Gallery: Post your screenshots / code here (PART 19)
This is Part 19, 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!
storymachine (https://www.trystorymachine.com)
it pulls colors and fonts settings from the OS. its author chris wanted to share the code they use for OS X to pull that data: MacOSThemeColors.zip
immedia I'm try to add image and vector graphics supported for imgui.
Steve and alex is generated by the following code:
ImMedia::VectorGraphics steve({ 8, 8 });
ImU32 steve_skin_col = IM_COL32(0xEF, 0xAE, 0x73, 0xFF);
ImU32 steve_hair_col = IM_COL32(0x59, 0x33, 0x14, 0xFF);
ImU32 steve_eyes_col = IM_COL32(0x6B, 0x4A, 0xA3, 0xFF);
ImU32 steve_nose_col = IM_COL32(0x94, 0x52, 0x3A, 0xFF);
ImU32 steve_mouse_col = IM_COL32(0xD7, 0x6F, 0x52, 0xFF);
ImU32 steve_beard_col = IM_COL32(0x59, 0x33, 0x14, 0xFF);
steve.AddRectFilled({ 0, 0 }, { 8, 8 }, steve_skin_col);
steve.AddRectFilled({ 0, 0 }, { 8, 2 }, steve_hair_col);
steve.AddRectFilled({ 0, 2 }, { 1, 3 }, steve_hair_col);
steve.AddRectFilled({ 7, 2 }, { 8, 3 }, steve_hair_col);
steve.AddRectFilled({ 1, 4 }, { 3, 5 }, IM_COL32_WHITE);
steve.AddRectFilled({ 5, 4 }, { 7, 5 }, IM_COL32_WHITE);
steve.AddRectFilled({ 2, 4 }, { 3, 5 }, steve_eyes_col);
steve.AddRectFilled({ 5, 4 }, { 6, 5 }, steve_eyes_col);
steve.AddRectFilled({ 3, 5 }, { 5, 6 }, steve_nose_col);
steve.AddRectFilled({ 3, 6 }, { 5, 7 }, steve_mouse_col);
steve.AddRectFilled({ 2, 6 }, { 3, 7 }, steve_beard_col);
steve.AddRectFilled({ 5, 6 }, { 6, 7 }, steve_beard_col);
steve.AddRectFilled({ 2, 7 }, { 6, 8 }, steve_beard_col);
ImMedia::VectorGraphics alex({8, 8});
ImU32 alex_skin_col = IM_COL32(0xFD, 0xDB, 0xA5, 0xFF);
ImU32 alex_hair_col = IM_COL32(0xF9, 0x9A, 0x25, 0xFF);
ImU32 alex_eyes_col = IM_COL32(0x3B, 0x72, 0x29, 0xFF);
ImU32 alex_mouse_col = IM_COL32(0xE3, 0x7C, 0x67, 0xFF);
alex.AddRectFilled({ 0, 0 }, { 8, 4 }, alex_hair_col);
alex.AddRectFilled({ 0, 4 }, { 8, 8 }, alex_skin_col);
alex.AddRectFilled({ 3, 3 }, { 7, 4 }, alex_skin_col);
alex.AddRectFilled({ 4, 2 }, { 6, 3 }, alex_skin_col);
alex.AddRectFilled({ 1, 4 }, { 3, 5 }, IM_COL32_WHITE);
alex.AddRectFilled({ 5, 4 }, { 7, 5 }, IM_COL32_WHITE);
alex.AddRectFilled({ 2, 4 }, { 3, 5 }, alex_eyes_col);
alex.AddRectFilled({ 5, 4 }, { 6, 5 }, alex_eyes_col);
alex.AddRectFilled({ 3, 6 }, { 5, 7 }, alex_mouse_col);
I'm working on a project for exploring MAP-rules. It's been in the final stage of development, will go public very soon :)
5/3 finally :| ~~https://github.com/achabense/astral~~
6/17 renamed to moody. The UI has been improved by a lot now :) https://github.com/achabense/moody
I write a code that simulates a CPU architecture for my students (for pedagogy only), and once the microcode table is filled with necessary signals, allows to create simple assembler code. Available here for now : https://dl.eea-fds.umontpellier.fr/ArchiLaSimu-1.0/
Hello, I ported python imgui bundle on jetson nano. Here is a guide I wrote.
A game engine inspired by Quake that I've been working on for a couple years
https://nuake.antopilo.dev https://github.com/antopilo/Nuake
Windows program that searches and downloads films https://filminator.net/
Tug: GDB frontend made with Dear ImGui
https://github.com/kyle-sylvestre/Tug
Here is my first application using ImGui, still learning a lot.
It is a simple but efficient TIFF image viewer specially designed to allow instant display of massive images. My largest one is the surface of Mars at 5m per pixel, that makes a 1.5 Tb file with the largest subimage having more than 4 200 000 x 2 100 000 pixels. Thanks to the tiling and pyramidal (subimages are precomputed zoom levels) capabilities of the format, it is possible to display parts of these images interactively with load-on-demand.
My litttle toy application caches nothing at all, the complete range of tiles is loaded at each change, but it allows very fast checking of these files that are impossible to load using standard applications.
The code is 100% ImGui, the selected tiles are added to the WindowDrawList with an AddImage,directly from libtiff RGBA format.
I am not yet satisfied by the layout and widgets, maybe a range slider would be better to select starting tile x, y , width and height, or something with start-end.
Maybe a kind of xy slider widget would help (a rectangle in a rectangle, so that we can choose both x y from horizontal and vertical ranges at once.
I also use ImPlot heatmaps to show the number of loads for each tile (and for all levels), it is mostly useless but looking nice ! (and you can actually draw with the sliders ;-)
The code is at https://github.com/delhoume/qshowtiff.
I have written a dedicated TIFF tile server https://github.com/delhoume/khufu and I think heatmaps will prove very useful when analysing logs, it will allow to spot areas most visited in very large images.
So far I like very much ImGui for beeing so simple to start with, and for the large community around it.
A WIP character animation editor https://github.com/slerpxcq/mma
Model is つみ式ミクさん
UI for my custom 6502 emulator.
The machine being simulated here is the 6502 computer from Ben Eater (https://eater.net/6502 / https://www.youtube.com/watch?v=XlbPnihCM0E ) The software currently running in the emulator is MSBASIC ported for Ben Eater's machine: https://github.com/beneater/msbasic)
Version 2.1 of UntitledGameSystemManager: a nice GUI frontend on top of the Incus system container manager. It allows for the following:
- Allows users of distributions that don't support multilib to run Steam and Wine
- Allows users of distributions with out-of-date or unstable Steam and Wine packages to have a stable game system
- Preinstalls all major linux gaming applications(Steam, Wine, Lutris, Protontricks, Winetricks, etc.)
- Isolates your gaming system from your main system
- Provides a nice GUI to manage multiple containers
- Steam functions better than on flatpak on some systems
Under the hood, it uses a Golang library which communicates with Incus, using its native Golang API. The library exports C symbols for most interactions, which are consumed by the GUI, which is written in C++.
Gentoo and Funtoo Linux users also have access to pre-made always-up-to-date packages :D
Game UI component samples of the Nexus addon host for Guild Wars 2. Not officially affiliated with the game.
UI for my project on scripting-based 3d printing software. Using ImGuiColorTextEdit and some customized widgets with basic ImGui assets.
I ended up reusing some of the code from my source gameconsole replacement in a few other places. it got carried into several other gamedev projects big and small, eventually leading to the example shown here which I'm using currently anytime I need an in engine console. I'm pretty proud of how it turned out.
it's a bit complex code wise but it works for what I need it to do.
I saw an exhibit today that had this screenshot for Assassin's Creed Mirage Looks like there have an imgui panel on the side of an otherwise QT/WPF thing. I would assume the imgui side runs on all targets.
https://github.com/ocornut/imgui/assets/29577987/c7ff1f34-475a-48b0-8373-c2571b46c269
today on the imgui scratchpad, a custom titlebar! Done using SDL2 and ImGui for a project I started nearly 2 years ago and only continued recently.
you can find the code for said project here: https://github.com/ashifolfi/lynx-animator
the file that contains the titlebar logic is MainWindow.cpp
update:
there's even a macOS styled variant now.
ImNES = NES Emulator + Rust + ImGui by @gordnzhou
https://github.com/gordnzhou/imnes-emulator
Chronicles IV: Ebonheim
https://mastodon.gamedev.place/@britown
https://www.reddit.com/r/roguelikedev/comments/1d8vvbt/introducing_chronicles_iv_ebonheim/
https://teknologicus.itch.io/hantverkn
Engine/Editor/Runtime for my VR game "Fear of Falling":
https://alektron.itch.io/fear-of-falling
The in-game UI is made with ImGui as well:
A little special something about it is that I am not rendering the in-game UI to a texture but directly render the vertex buffer in 3D space. The idea was to add effect like e.g lifting the text up on hover. But I never got around to do that.
Very simple UI in comparison to most things here but I'm making an infinite 2d canvas app
https://github.com/sava41/miskeenity-canvas
vīcĭus updater agent has a nice desktopey look and feel: https://github.com/nefarius/vicius
I think when we provide better fonts and text functions most dear imgui apps will start looking better (here they are using imgui_md which provide some of this).
(continuation from this last post: https://github.com/ocornut/imgui/issues/6897#issuecomment-1773959493)
An update of my toy DAW... Really love Dear ImGui!
The past year we've been creating audio plugins using Imgui for their interface.
Our most extensive UI so far is M3NGLR, a multi-band "modular distortion" plugin:

We used ImGui to create the in-game developer console for Extremely Powerful Capybaras.
We use the C# bindings provided by uimgui to use it inside Unity.
Love ImGui, thanks for the effort!!
https://github.com/ocornut/imgui/assets/16945950/44e65ba6-b836-4353-91df-582b22ebe121
Announcing the release of WebGPU Shader Toy, a free tool that you can access in your browser.
There is a video demonstrating several of the features
This project is built using ImGui with a GLFW backend (+ new implementation) and a WebGPU renderer and compiled with emscripten.
The editor panel (left side) is a ImGui / GLFW / canvas window The shader panel (right side) is a pure GLFW / canvas window
This is made possible with emscripten-glfw and its support for multiple GLFW windows.
The 2 different screenshots show the 2 layouts
- the first one (automatic) fills the entire browser available space (as you resize the browser, each window is resized accordingly)
- the second one (manual) adds a little handle to each window to be resized independently
Update 2024/08/01: With the release of ImGui 1.91.0, the source code for this project is now available.
Openthesia: customizable midi visualization software kinda like Synthesia for Windows Built using ImGui.NET wrapper.
https://openthesia.pages.dev/
https://github.com/user-attachments/assets/b59182de-f99f-442c-a163-2bdb027330b0
https://github.com/baderouaich/Enigma
Enigma, A Simple, Reliable and Efficient Encryption Tool
- Main Menu
- Straight forward
- Supports the strongest encryption algorithms
- Save Encryptions to a local database (an SQLite3 database which you can export/import)
- Extra Utilities