Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gallery: Post your screenshots / code here (PART 19) #7503

Open
ocornut opened this issue Apr 17, 2024 · 51 comments
Open

Gallery: Post your screenshots / code here (PART 19) #7503

ocornut opened this issue Apr 17, 2024 · 51 comments
Labels

Comments

@ocornut
Copy link
Owner

ocornut commented Apr 17, 2024

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!

@ocornut ocornut pinned this issue Apr 17, 2024
@ocornut
Copy link
Owner Author

ocornut commented Apr 17, 2024

storymachine (https://www.trystorymachine.com)
storymachine_03
storymachine_01

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

@HuaiminNotSleepYet
Copy link

immedia
I'm try to add image and vector graphics supported for imgui.

preview

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

@achabense
Copy link

achabense commented Apr 18, 2024

I'm working on a project for exploring MAP-rules. It's been in the final stage of development, will go public very soon :)
showcase3
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

@mikamyara
Copy link

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/

image

@rafaelanderka
Copy link

lbm-imgui - an interactive fluid simulation toolbox.

lbm-imgui-demo

@TechnoLukas
Copy link

Hello, I ported python imgui bundle on jetson nano. Here is a guide I wrote.
image

@antopilo
Copy link

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

image

@mohammad-ghasemi-dev
Copy link

mohammad-ghasemi-dev commented May 4, 2024

Windows program that searches and downloads films
https://filminator.net/

demo

@ocornut
Copy link
Owner Author

ocornut commented May 6, 2024

Tug: GDB frontend made with Dear ImGui
https://github.com/kyle-sylvestre/Tug
327977413-b5db9a13-717e-4e51-9702-dc2d8b28fea9

@delhoume
Copy link

delhoume commented May 8, 2024

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.

SCR-20240508-xb2

@slerpxcq
Copy link

A WIP character animation editor
https://github.com/slerpxcq/mma

WeChat Screenshot_20240513210736

Model is つみ式ミクさん

@learn-more
Copy link
Contributor

UI for my custom 6502 emulator.

image

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)

@Madman10K
Copy link

Version 2.1 of UntitledGameSystemManager: a nice GUI frontend on top of the Incus system container manager. It allows for the following:

  1. Allows users of distributions that don't support multilib to run Steam and Wine
  2. Allows users of distributions with out-of-date or unstable Steam and Wine packages to have a stable game system
  3. Preinstalls all major linux gaming applications(Steam, Wine, Lutris, Protontricks, Winetricks, etc.)
  4. Isolates your gaming system from your main system
  5. Provides a nice GUI to manage multiple containers
  6. Steam functions better than on flatpak on some systems

image

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

@DeltaGW2
Copy link

DeltaGW2 commented Jun 3, 2024

Game UI component samples of the Nexus addon host for Guild Wars 2.
Not officially affiliated with the game.

image

@pinojojo
Copy link

pinojojo commented Jun 4, 2024

UI for my project on scripting-based 3d printing software. Using ImGuiColorTextEdit and some customized widgets with basic ImGui assets.
Snipaste_2024-06-04_16-33-25

@ashifolfi
Copy link

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.

image

@ocornut
Copy link
Owner Author

ocornut commented Jun 7, 2024

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.

IMG_4538

@ashifolfi
Copy link

ashifolfi commented Jun 9, 2024

2024-06-08.23-11-26.mp4

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

there's even a macOS styled variant now.

@ocornut
Copy link
Owner Author

ocornut commented Jun 13, 2024

ImNES = NES Emulator + Rust + ImGui by @gordnzhou
https://github.com/gordnzhou/imnes-emulator
image

@ocornut
Copy link
Owner Author

ocornut commented Jun 13, 2024

@Teknologicus
Copy link

@alektron
Copy link
Contributor

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

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.

@sava41
Copy link

sava41 commented Jun 27, 2024

Very simple UI in comparison to most things here but I'm making an infinite 2d canvas app
Screenshot 2024-06-26 212716
Screenshot 2024-06-26 212446

https://github.com/sava41/miskeenity-canvas

@ocornut
Copy link
Owner Author

ocornut commented Jun 28, 2024

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

nefarius_HidHide_Updater_GDFudys8mB
nefarius_HidHide_Updater_T7lQFBKqRw
Updater_mc9y7o4qcL

@native-m
Copy link

(continuation from this last post: #6897 (comment))

An update of my toy DAW...
Really love Dear ImGui!

image

Demo Music!

@dromer
Copy link

dromer commented Jul 1, 2024

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:

@yannlemos
Copy link

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

epc_dev_console_video.mp4

@ypujante
Copy link
Contributor

ypujante commented Jul 8, 2024

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

WebGPU Shader Toy - Automatic WebGPU Shader Toy - Manual

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.

@ImAxel0
Copy link

ImAxel0 commented Jul 13, 2024

Openthesia: customizable midi visualization software kinda like Synthesia for Windows
Built using ImGui.NET wrapper.

https://openthesia.pages.dev/

Openthesia.ImGui.mp4

@baderouaich
Copy link

https://github.com/baderouaich/Enigma

Enigma, A Simple, Reliable and Efficient Encryption Tool

  • Main Menu
    Main-Menu-Demo
  • Straight forward
    Straightforward
  • Supports the strongest encryption algorithms
    Supports-Strongest-Encryption-Algorithms
  • Save Encryptions to a local database (an SQLite3 database which you can export/import)
    My-Encryptions-Demo
  • Extra Utilities
    Tools-Demo

@ocornut
Copy link
Owner Author

ocornut commented Jul 17, 2024

FYI i have released Dear ImGui Multi-Context Compositor, a simple helper to facilitate displaying & interacting with multiple contexts simultaneously (e.g. update vs render domains contexts)
https://github.com/ocornut/imgui_club -> imgui_multicontext_compositor
Manages z-order, mouse/keyboard routing, cross-context drag and drop.

multi_context_compositor.gif

@ocornut
Copy link
Owner Author

ocornut commented Jul 17, 2024

splatviz by Florian-Barthel
https://github.com/Florian-Barthel/splatviz
teaser

@zmertens
Copy link

I ported Craft to the web and added maze generation with a simplistic GUI:

mazebuilderweb

I turned it into a web app https://jade-semifreddo-f24ef0.netlify.app/ and it has the ability to export the maze to Wavefront object file. Some notes about the web app: the maze is generated usually behind the default camera, and the page needs to reload to generate another maze.

@thedmd
Copy link
Contributor

thedmd commented Jul 22, 2024

I took a swing at Wave Function Collapse. Once again Dear ImGui did heavy lifting by showing how internals does tick.

Wfc.Demo.1.mp4

@alien-brother
Copy link

A synthesizer plugin I'm working on - https://sr.ht/~alien-brother/still.
ImGui is one of the few UI frameworks that works well in a plugin - links statically and does not want to own the event loop.

screenshot

@metamaterialsuit
Copy link

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:

hey man, curious as to why you went with imgui over something like juce? I'm trying to get a clearer idea of what separates imgui from other toolkits.

@louist103
Copy link

Ship of Harkinian | https://github.com/HarbourMasters/Shipwright
An Ocarina of Time PC Port. ImGui is used for all GUI elements outside of the actual game.
ImGui_Ship
image

@Hoek67
Copy link

Hoek67 commented Jul 31, 2024

Been using Dear ImGui for a few years now and it has made a huge difference to my semi-stalled DX11 game/rendering engine.

With it I was able to build a large debug suite that allowed me to see "inside" the engine in real-time and nail down some hard to find issues/bugs.

Screenshot shows a physics car class I built from scratch in a test application. Being able to tweak values in real-time just makes everything so much easier.

Goblin 2D+ Engine.

image
image

@ocornut
Copy link
Owner Author

ocornut commented Aug 7, 2024

IKEA STRÅLA Editor (internal IKEA tool)
Ikea01
https://www.youtube.com/watch?v=Kup0d4Te3n0

@itsvks19
Copy link

in android

Record_2024-08-16-14-59-27_1d383c1a14df13145fbb6a9f24619309.mp4
Record_2024-08-16-15-00-19_1d383c1a14df13145fbb6a9f24619309.mp4

Screenshot_2024-08-16-15-23-22-18_1d383c1a14df13145fbb6a9f24619309

@StrikerX3
Copy link

Here are some screenshots of the debugging tools on my Nintendo DS emulator.

image

image

image

image

image

image

Bonus: WIP scripting engine

image

image

@ozlb
Copy link

ozlb commented Aug 20, 2024

Spotted at Microsoft

IMG_0651

@ronak69
Copy link

ronak69 commented Aug 21, 2024

4 months ago I made an unofficial Dear ImGui frontend for the Ladybird web browser.

Repo: https://codeberg.org/ronak69/dear-ladybird
Demo gif: https://serenityos.social/@ronak69/112282372320979700

screenshot-april-24

@CheapMeow
Copy link

CheapMeow commented Aug 23, 2024

Yet another flame graph. https://github.com/CheapMeow/SimpleImGuiFlameGraph

There are already flame graph implementations. But I think that they lose the extensibility and simplicity.

https://github.com/RudjiGames/rprof looks nice,. But it is complex.

https://github.com/bwrsandman/imgui-flame-graph is simple. But it only measure fix type of events.

So I code a widget that use scope timer to measure time, and use simple draw function to draw flame graph, which is less than 100 lines.

@ocornut
Copy link
Owner Author

ocornut commented Aug 23, 2024

gigi released by SEED/electronicarts
A framework for rapid prototyping and development of real-time rendering techniques.
Maintained by @Atrix256
https://github.com/electronicarts/gigi
https://www.ea.com/seed/news/gigi <- Announcement page & 25 mins tutorial video

https://www.youtube.com/watch?v=qknK-tahICE

editor

seed-gigiviewer png adapt 1456w

@ocornut
Copy link
Owner Author

ocornut commented Aug 24, 2024

Some stuff spotted at CEDEC conference:

Legend of Zelda: Tears of the Kingdom
https://x.com/R_Nikaido/status/1827252823526142412
GVux-sOaIAAT7TM

Interestingly, what that specific slide is about: Nintendo use tools to track who placed certain objects in the world, in order to facilitate tracking/discussing intent among designers. It's essentially resurfacing information that would be also available in source control. But making info readily available in a prime location can make a great difference in a large team, for people to not step over each others blindly. Good gamedev sense IMHO.

There are reports on some of those talks, but none covered the full talks, and it is all in Japanese so far:
https://www.famitsu.com/article/202408/15204
https://www.famitsu.com/article/202408/15284
https://www.4gamer.net/games/578/G057883/20240824011/
https://game.watch.impress.co.jp/docs/kikaku/1617761.html

@ocornut
Copy link
Owner Author

ocornut commented Aug 24, 2024

Also spotted in those HAVOC slides:
https://x.com/momo_zzz/status/1826490841147605370
GVj_YDsWcAALnbA

@benny-edlund
Copy link

To learn more about the ins and outs of ImGui backends I created this CPU only backed for linux using X11 and Blend2d
https://github.com/benny-edlund/imx

Turns out ImGui is pretty fast even without GPU drawing

image

@fchen99
Copy link

fchen99 commented Aug 27, 2024

微信图片_20240827173003

@EddieEldridge
Copy link

EddieEldridge commented Sep 5, 2024

Screenshot 2024-09-05 at 10 09 15

Using ImGUI and a custom Lua wrapper to enable users to create their own custom GUI elements for the base game and it's modifications in the strategy game Medieval II: Total War

@untodesu
Copy link

untodesu commented Sep 5, 2024

I'm back at it with my ImGui-based Game UI for my voxel game - Voxelius

This time the game features an almost-full fledged UI with the most recent addition being in-game chat!

image

@ocornut ocornut unpinned this issue Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests