ocornut / imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gallery: Post your screenshots / code here (PART 17)

ocornut opened this issue · comments

commented

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!

WIP modding tool for a somewhat retro game made with my limited programming knowledge and skills.

Screenshot_20230530_204531

I used ImGui, ImPlot, and imnodes in my hobby real-time renderer. Full source code available on GitHub.


3


6

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

Spotted in S.T.A.L.K.E.R. 2: Heart of Chornobyl.
out2087

Working on a small project..will be released open source soon!

image

PONC is the graphical tool used by telecommunication engineers to design, manage, and optimize Passive Optical Network layouts.

https://github.com/qoala101/ponc

Feature 1
Feature 3

Based on https://github.com/thedmd/imgui-node-editor

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.

image

https://github.com/Rezonality/zing

Some shots from the ImGui-based editor we used to produce our Revision 2023 demo: https://www.pouet.net/prod.php?which=94177

behind_the_scenes-00
behind_the_scenes-01
behind_the_scenes-02
behind_the_scenes-03

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.

screenshot 1
screenshot 2
screenshot 3

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.

image

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 :)

TBApp_WIn32_gaiNxqKF9N

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.

Login
Ingame
MapEditor
EventEditor2

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

This is a link to Nin Online

@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.)

commented

RTL layout test Windows 11

2023-06-17.011911.mp4

Persian type test (فارسی نویسی)

013428.mp4
commented

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
image

commented

I've made a plugin UI host in ImGui
image

I made an editor for my ECS game engine - DYEngine.
I can't live without Dear ImGui anymore, it's so useful.

DYEngineEditor_Screenshot

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.

grafik

A custom application. (Tcp debugger)
aaa

ImGui implementation for Wayland
imgui-wayland

Couldn't find if it has been posted here, but Dear Imgui is an essential part of Remedy Northlight engine :)

image
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.

image

(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

macOS
commented

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:
image

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.

picross_solver_gui_puzzle_wild

image

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.

image

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.

Showcase:
image

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:

image

Underline, strike-through, links and text highlighting

image

Blockquotes

image

Inline code

image

Annotations

Subscript and superscript(both annotations are combined into 1 function):

image

Ruby text(kind of broken at the moment):
image

commented

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.

commented

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.

editor_new (1)

unnamed-file-76

ROTT Ludicrous Edition now has an official map editor based on dear-imgui.

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

commented

Spotted PrusaSlicer (Prusa Slic3r) using Dear ImGui within their 3d viewport:

https://www.prusa3d.com/page/prusaslicer_424/
Slic3r

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...

RE Edit - Dark

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!

clusterapp_screenshot

Next addition to our game/engine tooling suite: ParticleEditor ( based on modified version of https://github.com/thedmd/imgui-node-editor )

image

Magic Carpet 2 porting effort.

mc2

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.

Screenshot from my pet game engine editor. With a visual studio code inspired theme :)

Screenshot from 2023-08-18 15-40-41

commented

YAZE (Yet Another Zelda3 Editor) by @scawful
https://github.com/scawful/yaze

yaze-01
yaze-02
yaze-03

commented

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

Final Fantasy XVI - 01
Final Fantasy XVI - 03b
Final Fantasy XVI - 04b

commented

Alan Wake 2
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)
Alan Wake 2 6544c372589da1e2a2285809_luau_weather_system

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.

2023-09-05
2023-09-05 (4)
2023-09-05 (7)
2023-09-05

Source code: https://github.com/AVLatency/Latency-Measurement

commented

image
the frosted glass thing i hacked for imgui to look cool

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

image

asdf.mp4
commented

I'm using ImGui for my space simulation software.
See https://pavelsevecek.github.io/
image
image

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.

2023-09-13__18-28-05

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 :
thumbnail
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:
Editor Showcase
GitHub link for the interested: https://github.com/mormert/jle

In InAppGpuProfiler you can now explore bars or open bars in sub windows

Left click on a bar : (explore bar)
breadcrumbtrail

Right click on a bar : (open bar in sub windows)
sub_windows

INDEX 2.0 (INDEX 2024)

INDEX 2.0 will launch on December 31, 2023

ImGui is literally the most powerful tool of any open source on github or other. This screenshot literally breaks the boundaries of open source projects. so thank you ImGui

Screenshot

Screenshot

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:
visuals7

clear link paths:
link path

fuzzy search:
search
search node

multiple views on one graph, and subgraphs:
multiview

friendly link-editing operations:
cut
link

and custom parameter interface (via parmscript):
parms

Update for spinner library
https://github.com/dalerank/imspinner
@ocornut thanks for amazing framework
spinners