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 · 28 comments
Open

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

ocornut opened this issue Apr 17, 2024 · 28 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

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

Note that the source code will be released soon (I am waiting on PR #7647 to be merged so that the build is more straightforward)

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