Open ocornut opened 1 year ago
As needed aid to write our "Mastering Graphics Programming with Vulkan", ImGui was essential. Probably not the most advanced usage of it, but the possibility of debugging any texture in realtime (especially with bindless rendering), or having a simple but effective GPU profiler, needed to check the timings for each technique developed for each chapter, or simply having all the debug options and tweables for each render subsystem was like having a team to help!
Code available for free here as well: https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan
Thanks again Omar and all the contributors to ImGui!
My work in progress game engine.
IOLITE voxel game engine https://iolite-engine.com/
amodemGUI https://github.com/YD1RUH/amodemGUI
Meta XR Simulator https://developer.oculus.com/downloads/package/meta-xr-simulator/
Generative Fill for Video at Adobe Max #ProjectFastFill https://www.youtube.com/watch?v=kyYk-u2rxYA
Cog is a set of debug tools for Unreal Engine
Hesiod is a desktop application for node-based procedural terrain generation. The node editor relies on imgui-node-editor.
https://github.com/ocornut/imgui/assets/121820229/313f84f1-ee2f-4eda-a707-6ccc2b12b4b5
Adventure game Engine for MSX2 + game Stan the Dreamers https://jamque.itch.io/stan-the-dreamer-msx2/devlog/396876/a-new-adventure-game-engine-has-come-to-msx2\
SEV9938, Sprite editor for MSX2 https://jamque.itch.io/sev9938-sprite-editor-for-msx2/devlog/619767/new-feature-sprite-gfx-preview-in-sprite-design
hitbox editor for my game
https://github.com/ocornut/imgui/assets/93522936/f1fc7c1e-5705-46fe-b3de-742b342e30dd
SQLiteDiskExplorer is a tool designed to assist you in the efficient management of your SQLite files.
Explore and manage your SQLite files with ease using SQLiteDiskExplorer, Your valuable data is just a scan away !
Dear ImGui Bundle (v1.0.0-beta1) now includes support for ImGui Test Engine.
As before, ImGui Bundle provides an extensive set of widgets and components, which can be used in C++ and Python:
Below is a demo of the integration of ImGui Test Engine: the mouse movements and clicks you can see in the video below are triggered via programmable automations made possible by ImGui Test Engine.
https://github.com/ocornut/imgui/assets/7694091/29661cf3-da48-406c-803b-152b97fdf99f
This can be used with python, and C++ (all platforms, incl emscripten). See python bindings declarations (stubs).
See live demos in the interactive manual (click on the "Show me buttons"), and in a dedicated demo (see its C++, and Python source code).
my toy digital audio workstation. everything is imgui except for waveform display.
Wallet "is application that lets you manage your stock and finance. It is meant to be lite and efficient. It is not a trading platform." https://wallet.wiimag.com/
Spectrum Analyser is a program that helps you to reverse engineer ZX Spectrum games. I wrote it for my own amusement but others have found it interesting too. https://github.com/TheGoodDoktor/8BitAnalysers
QuantMage is a SaaS platform for algorithmic & quantitative stock investment. It's using ImGui+WASM for its logic editor and backtesting tool frontend. https://quantmage.app/grimoire/88feda7697abf9d66cf63ae359ac3cb2
Slideflow Studio is a user interface for deploying deep learning models for digital pathology research applications. Dear Imgui (and the python wrapper, pyimgui) were essential in making this a success. Thank you for developing this wonderful framework!
I needed a more comfortable way to input angles and I did this:
If anyone find it useful, this is the code:
bool InputAngle(const char* aLabel,float* aValue,bool aAbsolute,const char* aFormat)
{
bool changed=false;
if(ImGui::InputFloat(aLabel,aValue,0.0f,0.0f,aFormat))
{
changed=true;
}
constexpr float kPI=3.14159265358979323846f;
ImGui::SameLine();
if(ImGui::ArrowButton("##show_angle_popup",ImGuiDir_Down))
{
ImGui::OpenPopup("##angle_popup");
}
if(ImGui::BeginPopup("##angle_popup",ImGuiWindowFlags_AlwaysAutoResize|ImGuiWindowFlags_NoResize))
{
ImGui::SetWindowFontScale(2.5f);
if(aAbsolute)
{
float v1=-*aValue;
ImGuiKnobFlags flags= ImGuiKnobFlags_RotateAbsolute|ImGuiKnobFlags_WrapAround
|ImGuiKnobFlags_NoTitle|ImGuiKnobFlags_NoInput;
changed=ImGuiKnobs::Knob("angle_knob",&v1,0.0f,2.0f*kPI,4.7f,"%.6f",ImGuiKnobVariant_Stepped,0.0f,flags,16,0.0f,2.0f*kPI);
*aValue=3.5f*kPI-v1;
*aValue=std::fmod(*aValue,2.0f*kPI);
}
else
{
float v1=-*aValue;
ImGuiKnobFlags flags= ImGuiKnobFlags_RotateRelative|ImGuiKnobFlags_WrapAround
|ImGuiKnobFlags_NoTitle|ImGuiKnobFlags_NoInput;
changed=ImGuiKnobs::Knob("angle_knob",&v1,-2.0f*kPI,0.0f*kPI,4.7f,"%.6f",ImGuiKnobVariant_Stepped,0.0f,flags,16,-2.0f*kPI,0.0f*kPI);
*aValue=-v1;
}
ImGui::SetWindowFontScale(1.0f);
float w=ImGui::GetWindowWidth()*0.25f;
w-=2.0f*(GImGui->Style.FramePadding.x+GImGui->Style.ChildBorderSize);
if(ImGui::Button("0",ImVec2(w,0.0f)))
{
*aValue=0.0f;
changed=true;
}
ImGui::SameLine();
if(ImGui::Button("pi/2",ImVec2(w,0.0f)))
{
*aValue=kPI*0.5f;
changed=true;
}
ImGui::SameLine();
if(ImGui::Button("pi",ImVec2(w,0.0f)))
{
*aValue=kPI;
changed=true;
}
ImGui::SameLine();
if(ImGui::Button("3pi/2",ImVec2(w,0.0f)))
{
*aValue=3.0f*kPI/2.0f;
changed=true;
}
ImGui::EndPopup();
}
if(changed && GImGui->IO.KeyCtrl)
{
float rem=std::remainder(*aValue,kPI*0.125f);
*aValue -= rem;
}
return changed;
}
It uses my version of imgui-knobs.
### INDEX 2024.1 (BETA) INDEX 2024 is a game engine IDE program that will be released on December 31, 2023 also powered by the private hazel source code. Its user interface is so beautiful that a lot of effort will be put into it. that's why we will add a "Ribbon Bar" system. e.g
Microsoft Office 2007
INDEX 2024, Thank for ImGui & Hazel Core Team
https://github.com/ocornut/imgui/assets/126918321/d38e191f-2b9b-4e78-8b0b-848fd9948d5d
This source code will not be open but here are the binaries of the program just you need the Vulkan SDK and Visual C++ 2015-2022. and this link will take you to the lastest version of the program
https://github.com/INDEV-Technologies/INDEX/releases/tag/2.0.5b1
Hazel. C++ game engine by the cherno, most likely the most advanced usage of imgui.
its like source engine but it isnt
Spotted in a LTT's video, Bigscreen Beyond uses dear imgui for their driver utility interface.
not mine just found this on the internet if we ignore the fact it's hack menu, its pretty cool looking
https://github.com/ocornut/imgui/assets/13971022/13ca3927-66b5-4e51-b1a3-b80f9b1db517
also this one https://www.youtube.com/watch?v=OTp3-4BLY6k&ab_channel=ImMagicDesigns
https://github.com/ocornut/imgui/assets/13971022/b5dc7c4c-b626-431b-b4b4-cc55c618bbb9
https://github.com/ocornut/imgui/assets/13971022/3a23614e-4705-4686-9fcd-f120299316a4
We recently updated our in-engine realtime lighting editor to use ImGui for the Source Engine branch used by Portal 2: Desolation. This replaces the old VGUI light editor which was somewhat cumbersome to use. We also support placing area lights and projected cubemap light probes.
MightyGrep is a simple file searching application
https://github.com/ocornut/imgui/assets/25188464/25804b39-231b-42af-a17e-08d36127d831
Dear ImGui in a VSCode tab :)
This is essentially an 8-bit home computer emulator with an integrated Dear ImGui debugger UI (this one: https://floooh.github.io/tiny8bit/kc854-ui.html) compiled to WASM+WebGL, and integrated with VSCode via a webview panel.
The gist is that you can bundle a small WASM blob with Dear ImGui UI rendering code into a VSCode extension for UIs that might be too awkward to create with plain HTML+CSS, or for better integration with WebGL rendering.
the platinum theme
ImGui being used in my 2D game engine/editor Looper
I'm using imgui's primitives to make an in-game level editor mod for a certain mario game:
I've posted some pictures here before but it's been close to 3 years of development now and A LOT has change since. Here's some new pictures of ImHex, the Hex Editor / Reverse Engineering Suite I've been developing using ImGui https://imhex.werwolv.net / https://web.imhex.werwolv.net
I used Dear ImGui to write Papercraft, a little program that converts 3D models to a printable document, to be cut, folded and glued into a real world model:
A lot of people might consider this heresy but I use Dear ImGui as a frontend for a game
Also it's technically a scuffed translation wrapper for ImGui :trollface:
https://github.com/ocornut/imgui/assets/41549137/7fd60b36-e803-4bd7-babd-bb00b984a6f1
ImGui being used in my 2D game engine/editor Looper
thats cool if its possible can we do a collab for the engine im making only for the first version just to get me started maybe i can learn a thing or to
A Story Editor to build stories for a home made story teller device (for children). https://github.com/arabine/open-story-teller/ openstoryteller.org
I posted a much older version of this, but this is my pixel art project, Pixi.
small stage editor I've been working on for a shmup I'm making in gamemaker. ImGui handles the top left toolbar, position info on drag, object inspector, and the right most panel. The draggable objects, grid, camera, and everything else is handled through gamemaker.
I also wrote up some styling to make my editor better match the gamemaker IDE. if anyone wants the style code this is what I'm using.
A simple UI to manage Beechcraft C23 Sundowner for X-Plane Flight simulator.
I created a small text selection implementation as part of an open source app and extracted it under the MIT License: ImGuiTextSelect. I saw there were older discussions on this topic (#950) and hope this can help some people.
Features include double/triple/shift-click selection, context menu integration, and UTF-8 support. Instructions for using it in a project are included in the linked repo. ImGuiTextSelect works well for text-only windows such as a console/log output or code display.
https://github.com/ocornut/imgui/assets/61399657/874c4dc0-6c10-42c0-a283-0db7117585af
Again just another game engine called ITERO for our inhouse project
v2 platinum theme used in an actual program
An custom titlebar for mac os, using a "modified" version of glfw: https://github.com/KaspersTools/glfw https://github.com/KaspersTools/imgui
For my tools application(still in development) https://github.com/KaspersTools/HummingBird
For one of my projects, I needed the ability to dynamically create UI Form interfaces at run-time. So I developed a library that lets you define the interface using a Json Schema. I based it off React Json Schemas
Recently Implemented Configurable Layer Blending & Opacity in My Pixel Art Editor Which Uses ImGui For The UI.
https://github.com/ocornut/imgui/assets/75035219/16b13f16-acae-47a6-a137-1d1791a61501
https://github.com/ocornut/imgui/assets/75035219/ea5c60b2-1103-4393-b5c6-7c0499c37260
Thanks For Such an Beautiful UI Library.
The Pixel Art in The Above Video is Not Mine, I got it from here: https://lospec.com/gallery/theduckinatux/walking-through-the-forest
its like source engine but it isnt
@vhollander hey! this is really cool and I'd love to be able to use this style of UI in my own projects, could you by chance share how you did this in imgui?
EDIT: I sat down and made my own which can be found here!
It currently only supports ImGuiNET C# and has hard coded colors which require a specific style set but I will be adding more color sets and proper style support, alongside working on a header only C++ variant when I hit a point where I'm satisfied with the C# version.
its like source engine but it isnt
@vhollander hey! this is really cool and I'd love to be able to use this style of UI in my own projects, could you by chance share how you did this in imgui?
EDIT: I sat down and made my own which can be found here!
It currently only supports ImGuiNET C# and has hard coded colors which require a specific style set but I will be adding more color sets and proper style support, alongside working on a header only C++ variant when I hit a point where I'm satisfied with the C# version.
if that email on ur bio is still valid, then pls read ur inbox
A simple mod menu (not to be confused with hacking) for a game called Dying Light 2. The only custom code is the automatic tab width whenever the window is resized and the hotkey buttons.
The rest of the menu is made with ImGui styles.
Spotted in this Smarter Everyday video about "Roboforming".
The UI in the screenshot shows the forces applied to the industrial robot heads (among other things).
lemon-note: A simple note taking tool i created with IMGUI.
Spotted in the wild, The Indie Stone just announced they're replacing their old debug UI in Project Zomboid with Dear ImGui. More screenshots, some videos, and their thoughts can be found on their recent devlog.
This is Part 18, 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!