Gallery: Post your screenshots / code here (PART 17)
ocornut opened this issue · comments
This is Part 17, I am splitting issues to reduce loading times and avoid github collapsing messages.
Browse all threads and find latest one using the gallery label.
Also see: Software using dear imgui (you can help complete the list!)
You can post your screenshots here!
I used ImGui, ImPlot, and imnodes in my hobby real-time renderer. Full source code available on GitHub.
TII Unimore Racing, a University of Modena and Reggio Emilia team.
This is our perception stack completing a full lap in Autodromo Nazionale Monza using LiDAR localization only during Indy Autonomous Challenge.
tii_unimore_racing.mp4
PONC is the graphical tool used by telecommunication engineers to design, manage, and optimize Passive Optical Network layouts.
A little library of useful audio code. Uses ImGui for UI for choosing devices, etc. Shows how to gather audio data and do FFT for real-time frequency analysis in threads, and demos my little profiler for looking at thread work. Supports loading and rendering a midi file using the tiny sound font synthesiser, and hooks up ableton link for tempo synchronisation. Also shows how to synthesise audio using the soundpipe library. Just a useful grab-bag of bits if you are getting into audio coding.
Some shots from the ImGui-based editor we used to produce our Revision 2023 demo: https://www.pouet.net/prod.php?which=94177
Dear ImGui has been amazing from the start and remains a pleasure to work with 🙂
Furnace - a multi-system chiptune tracker with support for many chips and a customizable interface.
Only Dear ImGui made this possible - without it, our development pace wouldn't be so fast.
I spotted this in a recent research paper about image generation and interactive deformation:
Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold
There are demos videos in the linked page.
This looks like a usage of ImGui in a research environment, so it probably uses a form of python bindings. However, no info about this is provided in the paper.
Just for fun. see my WIP ToolBar :)
for the moment the syntax is in ImGui style :
if (ImGui::BeginToolBar()) {
if (ImGui::BeginToolBarItem()) {
if (ImGui::ButtonImage((ImTextureID)tex, "label")) {
// do some action
}
ImGui::EndToolBarItem();
}
ImGui::EndToolBar();
}
i'll see if i can keep this simple behavior until the end :)
@aiekick You must publish! Beautiful!
Nin Online is an MMORPG that started development in 2013 and launched in 2017 built with a Visual Basic 6 engine. In recent years, we ported the game to C# with .NET Framework. Now, we're using .NET 6 and all our UI systems have been replaced with just ImGui (We had 6 separate systems, including WinForms for our in-game editor suite). The HUD and every UI piece in the screen is also ImGui. There's actually a lot more cool stuff in the game, like animated UI elements that are done in ImGui.
Performance has been amazing too.
Here are more screenshots!
https://imgur.com/a/6urSiYC
Thank you @ocornut and all the contributors for ImGui, it's amazing.
Here is a showcase comparing our old Development suite vs the new ImGui one...
YouTube Video Showcasing New Dev Suite
@RorySoh Cool project and cool use of Dear ImGui!
(FYI all your links are broken due to being formatted incorrectly. See GitHub's documentation for details.)
RTL layout test Windows 11
2023-06-17.011911.mp4
Persian type test (فارسی نویسی)
013428.mp4
Amusing: apparently one in-game localized asset for Pikmin 4 accidentally has a Dear ImGui tool in the capture:
https://twitter.com/EspyoPT/status/1674531301473529857/photo/1
I made an editor for my ECS game engine - DYEngine.
I can't live without Dear ImGui anymore, it's so useful.
Here is a feature highlight video: https://youtu.be/ZrwCcynemSA
riCOM is a software used in electron microscopy. It interfaces with direct electron cameras for the real-time creation of atomic resolution microscopy images from 4-dimensional data.
Couldn't find if it has been posted here, but Dear Imgui is an essential part of Remedy Northlight engine :)
As a part of bigger and complex editor pictured here. "Scene view" is basically a development version of the game, and debug panels visible there are done with Imgui.
(Full video at https://www.youtube.com/watch?v=WovIJsaJ7u4)
Might not be a very "exciting" demo, but it shows how to use ImGui using raylib for the backend, CMake for the build and Google Angle on macOS (to use the Metal API instead of the deprecated OpenGL API)
Project is a self-contained and open source
Couldn't find if it has been posted here, but Dear Imgui is an essential part of Remedy Northlight engine :)
I was told by them I could add it to our list but when I watched this video you linked, I couldn't find any evidence of Dear ImGui showing, nor I can find one in the first image you showed. But I had missed the post-it :)
Couldn't find if it has been posted here, but Dear Imgui is an essential part of Remedy Northlight engine :)
I was told by them I could add it to our list but when I watched this video you linked, I couldn't find any evidence of Dear ImGui showing, nor I can find one in the first image you showed. But I had missed the post-it :)
Haha, some good work has been done to make it look not very default, and also to match more or less with new tools built in C# and WPF :D but can say that the stuff highlighted on the screenshot is done with Dear Imgui:
The next version of NoodlesPlate v0.8 WIP showcasing my ImCoolBar with a kifs shader.
NoodlesPlate_Msvc_x64_KuZwwNfTrQ.mp4
FYI, Many of the the live models you can see in this videos are available in 3d mesh here
The picross solver is a C++ library that solves picross puzzles, also called nonograms. The GUI on top of it is done with Dear ImGui.
On my website, I write reviews on games regarding how well it support Thai language. I need something to compare with the actual game's screenshot so I write a simple app that shows the same text in various fonts and with or without OpenType/Harfbuzz shaping. I name it font-render-tester. The name does not reflect what tool does very precisely however.
And no.... ImGui can't handle Thai text very well :).
I'm developing a ghidra decompiler plugin for cheat engine, the most annoying part about this is there are no good code editors available, initially, I was using ImGuiColorTextEdit but ended up writing my own editor from scratch.
I've been thinking about embedding Monaco Editor using CEF, but I barely know js/web development and didn't know if that was possible at all.
Recording.2023-07-22.172151.mp4
I had use glfw
, wgpu/webgpu
(base emscripten
)to draw imgui
and you can check it in WebGPU ImGui.
Since IBus(An input method framework for Freedesktop systems) doesn't have any good input methods for handwriting recognition, I decided to hack together one.
Currently, it only supports Chinese characters, but since I maintain a custom character database for another project I'm working on, I am planning on expanding the data for the IM. In the future, this will mean support for other writing systems such as Cyrillic, Latin, Japanese Kana, Arabic and more :)
Source code: https://github.com/MadLadSquad/UntitledIBusHandwriting. Relevant dear imgui code can be found under Source/MainView.cpp
. Drawing canvas is modified from the custom rendering example in ImGui::ShowDemoWindow
.
Sorry for the bad handwriting, writing with a mouse is hard 😅
I also made a small library for rendering rich text. With a little bit of work, this can be hooked up to a Markdown parser and made into a markdown rendering widget.
Source code: https://github.com/MadLadSquad/UntitledImGuiTextUtils
Showcase
Easy typeface rendering
Provides utility functions for rendering text with a specific font, turning 3 lines into 1. Fonts are loaded in imgui and given to TextUtils
during the initialisation of TextUtils
:
Underline, strike-through, links and text highlighting
Blockquotes
Inline code
Annotations
Subscript and superscript(both annotations are combined into 1 function):
I'm developing a ghidra decompiler plugin for cheat engine, the most annoying part about this is there are no good code editors available, initially, I was using ImGuiColorTextEdit but ended up writing my own editor from scratch.
I've been thinking about embedding Monaco Editor using CEF, but I barely know js/web development and didn't know if that was possible at all.
Recording.2023-07-22.172151.mp4
I'm developing a ghidra decompiler plugin for cheat engine, the most annoying part about this is there are no good code editors available, initially, I was using ImGuiColorTextEdit but ended up writing my own editor from scratch.
I've been thinking about embedding Monaco Editor using CEF, but I barely know js/web development and didn't know if that was possible at all.
Recording.2023-07-22.172151.mp4
Can this be uploaded as a standalone library? I was about to start the arduous process of creating my own text editor for lua but this looks exactly like what I need, would save me a week or two of effort.
Early implementation of a virtual operating system (written in java with imgui bindings) which is currently be rewritten/ported to c++.
The idea is to create something like VSCode in that we can have a plugin/extension market place. Only the text editor is implemented at the moment. The goal is to have all OS "programs", like file explorer, web browser, text editor, and etc to be written from with an embedded scripting language, hence the text editor implementation being created first. I would ideally like to mimic how unix is interacted with from the way the filesystem works to the way a programs are resolved from the path, and everything in between. I am trying to create a very high level embeddable virtual operating system that can be easily used from within any c (opengl) project.
A simple CPU/GPU profiler with a timeline UI having both CPU and GPU tracks in the same synchronized view.
Continuously records and saves N frames and can be paused to analyze.
Profiler-1.mp4
Separated the code and made it run in the ImGui example app for those who are interested: https://github.com/simco50/TimelineProfiler
Intel XeSS Demo - https://github.com/intel/xess
Spotted PrusaSlicer (Prusa Slic3r) using Dear ImGui within their 3d viewport:
I have already posted about my project in this gallery, but I am re-posting because it has gone through a big code change: I completely changed the backend(s) I was using (Metal on macOS/OpenGL on Windows) to use raylib instead. This has had several implications:
- massive code reduction since now the "main" code and the texture management code is completely shared between the 2 platforms (and can be written in C++ on macOS...)
- I can use my own custom shader to implement live effects/image processing (check the code that renders either with RayLib or ImGui)
- I can render to a texture (handled by raylib) which then gets rendered into an Image in ImGui, thus seamlessly getting the best of both worlds. Check the code
The project is 100% open source and free RE Edit
Note: click on the image to see it in action on YouTube...
This is a non-game related example. Dear ImGui is used as the GUI for a scientific application to support the design of cluster randomised trials (a type of experimental design). The app enables simple manipulation of the design and reports various statistics from different analyses and algorithms. It runs in the browser and is compiled using Emscripten to generate the html, JS, and WASM files. On the C++ side it uses Eigen and Boost and a custom library for statistics. Currently more a prototype as lots of features still to add but hopefully a useful example of scientific applications and using Dear ImGui in the browser.
The app is currently hosted at https://www.clustertrial.app/ and the code is available at the GitHub repo. One thing I haven't figured out yet is how to have a default position for the different windows in the dockspace using an ini file using this browser implementation, so the windows open on top of each other!
Next addition to our game/engine tooling suite: ParticleEditor ( based on modified version of https://github.com/thedmd/imgui-node-editor )
Magic Carpet 2 porting effort.
added full spatial management of the sounds produced by creatures during gameplay, thus obtaining a completely new level of immersion with the help of the OpenAL API.
my modifications include the glue logic needed for OpenAL-soft, support for modern joysticks and gamepads (by simulating mouse and keyboard events), haptics, support for playing CD-based audio tracks (for narrator speech), ImGui interface for debugging of my code.
repository is here: https://github.com/rodan/magic_carpet_2
build scripts are Linux only, but code can be compiled in windows as well.
YAZE (Yet Another Zelda3 Editor) by @scawful
https://github.com/scawful/yaze
https://github.com/rxi/lite in imgui.
FFXVI (Final Fantasy 16) tech stuff posted at CEDEC and in CGWORLD Magazine.
https://jp.ign.com/cedec-2023/70089/feature/final-fantasy-xvicedec-2023
https://knockout.chat/thread/52984/1#post-1929120
Spotted by Bekoha
Alan Wake 2
https://www.youtube.com/watch?v=dgL99_0cihQ&t=39s (00:40-00:45) also spotted by Bekoha (thank you)
(Amend November from https://www.remedygames.com/article/how-northlight-makes-alan-wake-2-shine)
The AV Latency.com Toolkit is an open source software suite that is used to accurately measure audio latency of consumer electronics for the purpose of audio-video synchronization (AV sync). RTINGS.com will soon be integrating this toolkit into their test methods.
Source code: https://github.com/AVLatency/Latency-Measurement
I would like to find out what ImGui's styling system could do. So I created a clone of the sign in page for a popular gaming platform.
It implements changing border color on hover/active state for buttons and checkbox as this is commonly found in web apps but not provided by default in ImGui.
Its follows the vibe design system from Monday.com.
https://www.figma.com/@mondaydotcom
asdf.mp4
I'm using ImGui for my space simulation software.
See https://pavelsevecek.github.io/
Follow up from: #5886 (comment)
(I decided to post a little update, because people seem to like my UI.)
I'm still iterating on my Game Engine UI and now have switched to the docking branch.
I'm using a lot of custom tweaks in here, but without modifying Dear ImGui itself.
Im opening the code of my In App Gpu Profiler im using since two years in NoodlesPlate.
For the moment it support only opengl
In the DemoApp branch of the repo,
there is a demo app who is coming with 9 of my shaders
The demo :
https://github.com/ocornut/imgui/assets/1434736/8a0c7006-f148-40a8-be6f-d270e5b47f9b
I'm using ImGui for my game engine editor, with a set of ImGui-related "plugins", including ImGuizmo, ImGuiColorTextEdit and ImPlot.
Here is a demo:
GitHub link for the interested: https://github.com/mormert/jle
In InAppGpuProfiler you can now explore bars or open bars in sub windows
Quake II remastered
https://bethesda.net/en/article/6NIyBxapXOurTKtF4aPiF4/enhancing-quake-ii
Yet another node graph editor here:
https://github.com/hugeproblem/nged
It's not a immediate-mode-node-graph addon for ImGui, but more of a (embeddable, customizable, extensible, scriptable) standalone application.
It has nice looking default appearance:
multiple views on one graph, and subgraphs:
friendly link-editing operations:
and custom parameter interface (via parmscript):
Update for spinner library
https://github.com/dalerank/imspinner
@ocornut thanks for amazing framework