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

ocornut opened this issue · comments

commented

This is Part 19, I am splitting issues to reduce loading times and avoid github collapsing messages.

Browse all threads using the gallery label.

Also see: Software using dear imgui (you can help complete the list!)

You can post your screenshots here!

commented

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

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

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

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

lbm-imgui - an interactive fluid simulation toolbox.

lbm-imgui-demo

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

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

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

demo

commented

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

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

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

WeChat Screenshot_20240513210736

Model is つみ式ミクさん

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)

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