ocornut/imgui

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

ocornut opened this issue Β· 66 comments

This is Part 4. I am splitting issues to reduce loading times and locked the old ones.
Browse all threads using the gallery label.

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

Screenshots Part 1 #123
Screenshots Part 2 #539
Screenshots Part 3 #772
Screenshots Part 4 #973
Screenshots Part 5 #1269
Screenshots Part 6 #1607
Screenshots Part 7 #1902
Screenshots Part 8 #2265
Screenshots Part 9 #2529
Screenshots Part 10 #2847
Screenshots Part 11 #3075
Screenshots Part 12 #3488
Screenshots Part 13 #3793
Screenshots Part 14 #4451
[...] see gallery label link above for newer pages.

You can post your screenshots here!

image

Nothing complicated or particularly fancy; just a functional editor UI for a game engine I'm building with .NET Core.

Working on a client/launcher UI retro design.
7f290426ab79805b3b8c7f0e1cbdca10
d9eaf3f5d94059a93c70ef399c219343
08fe52211b577b2a990ec56787c25e19
3535be97b5d857eace0aadb4eaa85efb

@ExtasyHosting Very nice design. The mix between pixel and smooth fonts is great.
Would you mind sharing the ImGui style you are using ? I would like to implement the opposite one (white-on-black instead of black-on-one). Good job :)

ImGUI graph for plotting the time (x) vs position (y) of a player in Boundless as they walk through a portal. Everything left of the green line is the source world on the right is the destination world. You can see the server position and client position (which is predictive so a few frames ahead to reduce latency). The aim of the graph is to show that the transition is completely smooth.

image

This helped us visualize the problems with transitioning from one server to another seamlessly which were:

  • src and dst server update ticks are out of sync
  • latency between src and dst server can be different

Which we can now adjust for these (by moving the destination world position by the players velocity multiplied by the time they are out) and see that the transition is smooth.

c++ Game engine and editor. https://github.com/volcoma/EtherealEngine
preview0

Electric Eye testing tool made and used at NetFlix
electriceye

Here are some screenshots of how we're using dear imgui in Overgrowth:

overgrowth_dialogue
overgrowth_perf
overgrowth_spawner
overgrowth_scenegraph
overgrowth_settings

Simplified excel-like spreadsheet using imgui!
sheet

Simplified excel-like spreadsheet using imgui!

This is very cool slash weird slash amazing slash worrying - but why? :)

Ahah, well first of all bridging unrelated technologies is one of my best ability ! :P

Seriously, on one of our software that powers a laser measurement device, we have the need for a way to "combine" multiple results from different measurements using some formulas only known at runtime.

The first obvious solution was integrating a scripting language but this still requires end users to do some sort of "programming", that scares most of our user base.

So I said "I just need a simple expression parser", I have tried to look for existing libraries in stb / imgui style and I have found tinyexpr on github.

When doing some tests with the library the indecent idea came into my mind "can I really be doing a kind of excel using this thing?".
Everyone knows excel, so everyone will be able to use our result combine module!

After two hours of hacking I got the first proof of concept, and then I simply added a few fancier features in the following days (dependency tracking, range variables etc ).

The imgui code is incredibly short ( for now). I am just using columns with buttons displaying the formatted output of the formula and when a cell is active, i draw an inputtext instead of the button.

I will send maybe a shot when this Frankenstein gets integrated in the main software ;)

one bit of extra functionality as expressions get longer, put the intputtext with the formula at the top (just like excel). Then if you press F2 you set focus on the input text.

Using ImGUI for interface for apple ][ emulator. Used for windows for 6502 debugger. Still a work in progress ,but it's coming along:

https://github.com/allender/apple2emu

image

I'm dying to not being able to post pictures of the use of ImGui at work :(

I'm porting a tool i made from C# WinForms to C++. The tool is pretty close to completion right now and I'm using ImGui because it's the easiest lightweight UI library i found.

image

i'm using imgui to build a home automation dashboard with raspberry pi. Using SDL to draw on fb makes this starts up very quickly (compare to Xorg). It also makes development very easy: the same code can run in Windowed mode on PC and native FB fullscreen mode on RPi.

homepi

Alia5 commented

Currently building a 2D framework / GameEngine (as a little Sunday project) and am currently implementing some debug- / editor tools
2017-02-23_1433

Using a mixture of ImGui (obv.) and RTTR and have the little beasty on the right implemented (so far...) with just a few lines of code in next to no time!

@r-lyeh, last year you posted an UI mockup for an asset library/manager, and I was wondering which font you were using for text ?
Link here : link
Thanks !

@itamago, very likely DejaVuSans/16.f (or DroidSans/18.f :)

@ExtasyHosting How did you do such a nice a title in windows?

my unity-like game engine editor
https://github.com/yushroom/FishEngine

My Guild Wars 2 overlay (named BGDM) with DPS meter, compass and more.
Notable are the implementation of column sorting, a hackable plain-text-version-compass and using the slider control as an on/off button.

bgdm_screenshot_2017-02-28 13 26 19

I've made a (very basic) image editor for Dear ImGui, with no dependencies (based on stb_image.h, stb_image_write.h, stb_image_resize.h and some other optional plugins to load/save other image formats).

imguiimageeditor

I created a component for file selection, folder selection and save the file:

Imgur

very nice , better than native os dialog system :)

@codz01
Yeah, it looks pretty. But it has a few details:

  • Only linux (I use my own implementation for working with file systems)
  • Can not yet make a new folder (It is easy to implement)
  • You can not show hidden files (da easy to implement)
  • The code is still a bit "dirty"
hb3p8 commented

In case you were wondering how does Dear ImGui based app feels like, you have one more example!
We have just released the CADRays application: https://www.opencascade.com/content/cadrays

cz0kddrxcaaejmm jpg large

Some screens :)

startpage
project selection screen...

bluish
dark bluish theme...

stingraylike
stingray engine like theme...

@edin-p very good , this engine is open source?

@zhouxs1023 Thank you! Not at the moment...

@edin-p , wow , better than Qt

@codz01, Qt is huge, because contains lots of features not only for gui

Got inspired by Stingray too :D Fully working asset browser (still WIPWIPWIPWIPWIPWIP: todo listview).
screen shot 2017-03-21 at 3 55 25 pm

graph based noise tool https://github.com/mgerhardy/engine

noisetool2

This thread is gorgeous. Inspiration overflows. I really want to commit some project now.

I feel like posting this screenshot from my project goxel because I used a nice trick to group inputs together into a frame with rounded border:

screenshot from 2017-03-31 19-07-30

It work by using the channel split feature to render a stencil mask before the items.

@RUSshy I think, is a good idea. :)

#705

I created simple spline curve editor

spline

I made a overview of all textures uploaded to the GPU via OpenGL
2017-04-16_20-19-33

Cool. Here's the one I am using (I didn't write it, someone at Pastagames did):

capture

PS: In your OpenGL Info window You can use SmallButton() at the end of text lines.

Ahh nice! I have another system that's seperate from OpenGL that takes care of all the extra info you have there. It also handles shaders, and will soon handle opengl programs (parsing meta information and generate the program), sound and more. Basically all assets. I want to use the filter thing too but waiting for cimgui to update with it.
catalog-scr

Small clip (at 5fps due to GIF constraints) of my sprite editor.
pixli_opt

And a full-size screenshot with some onion skins visible too:
pixli_editor

Special K Modding System (NieR: Automata plug-in)
20170419024613_1

I do a lot of graphics engine mods for games, usually requiring the end-user to make edits to complicated INI files. Having an in-game UI to configure this stuff is a lifesaver and my users love it πŸ˜„

Few pictures from Graceful Explosion Machine (now available on Switch https://www.youtube.com/watch?v=Zu9QyThTpXo)

With quote from Mobeen:

The β€œgraceful editor machine” is actually less of an editor and more of a viewer app. The levels are designed and decorated in Tiled, and we use this tool to view them in-game and ensure that everything was setup correctly.
00 - This is the first tutorial level loaded. Under β€œFile”, the file select dropdown is automatically populated from the in-game level database.
01 - Another level
02 - In the game, the level geometry can morph between phases. In Tiled we draw these level sections into separate layers. In the viewer, under β€œLayers”, we can quickly toggle between layers or show the animated transition.
03 - Finally, the β€œPreview Layer” shows the collision mask. Since we draw the geometry independently from the β€œdecoration” (the tile art) we wanted a quick way to confirm that they line up correctly!
On the whole this is actually a pretty basic use of imgui, but I almost think that’s the best way to show it off. Of course, imgui can make these elaborate and powerful GUIs, but I think its real strength is its ability to make quick/simple GUIs effortlessly to solve small but important problems in your workflow.

imgui_00_first_level
imgui_01_another_level
imgui_02_change_layer
imgui_03_collision_layer

seece commented

We used dear imgui in our 64 KB intro to edit parameters on the fly:

Some screens of imgui use in development of Below (http://www.whatliesbelow.com/)

Object state editing and lua table viewing/editing
campfire

Foliage Editing / Debugging / Performance Tracking
foliage

Simple Debug Map For Generated World
map

In Game CPU Profiler
profiler

Level Editing / Object Placement
Also using: https://github.com/CedricGuillemet/ImGuizmo
spawning

Wind Configuration
wind

We used it for countless other things, but that is probably enough screens for now :)
Thanks for the great library!

Some old college project I redid recently just for fun and because I want to get some nice things in my portfolio, it's based around this paper https://www.cg.tuwien.ac.at/research/publications/2007/bruckner-2007-STF/

The style transfer function UI (this is 1D though) done with dear imgui.

alt tag
alt tag

I have more stuff using imgui on my profile.

I've been a nutter and nearly wrapped up a QT QPainter (vanilla, not GL) backend. Caused some minor mauling to ImDrawCmd, List, and ImFont - so that I could render with QPainter's routines for cleaner renders (drawing through triangles was aliased something fierce).

Dear ImGUI in QT

HDPI comes along for free (sort-of) with living in QT and embedding QWidgets into it is cake (minus the caching and state psychosis involved). Goodbye giant ball of signal-slots-worms.

Just need to deal with those pesky tooltips/popups and cursors.

not sure if you @ocornut know about this, or if it was featured here, but the development team of Deus Ex: Mankind divided (Eidos) used ImGui too!

https://eidosmontreal.com/en/news/deferred-next-gen-culling-and-rendering-for-dawn-engine

Our remote-imgui interface running on an embedded sensor and shown on two of our "imgui-browser" remoting viewers, one running on a windows Panel PC (the big screen on top) and the second running on a Robot Teach pendant in lower right (linux with realtime kernel OS), all in sync of course.
I am sorry for the reflections on the screen, I will have some better photos anytime soon ;)

The software here is our robotic guidance product used to find the maze location in 6DOF and guide a pin through it with 0.1mm of error.
I have tried doing my best to compress the Gif file...

imgui at sps
imgui at sps2
imgui at sps3

Our debug/layout interface for Seaquence is pretty simple compared to the tools many of you are developing, but here's a screenshot:

screen shot 2017-06-13 at 4 24 52 pm

nem0 commented

Google Maps
maps

ImGui (via QPainter, software - not GL) inside of QT actually being used (right-most "Properties" window). Certainly lightened the inertia and tedium of UI heavy programming in QT's mess.

img

Popup in action extending outside of "airspace" of the IMGUI window:

img

Even ImGui popups mostly work. Was a fun project even though it has been canned for switching over to WPF.

Hello Omar, it's been a while!
Enjoyed your games, and enjoy imgui even more :)

Well another profiler I guess:
imguiprofiler

Cheers!

2017-07-06

Debug helper/browser bits of my engine. All of the rendering is done using ImGui's ImDrawList - the subtitles use FontStash.

nem0 commented

html + css rendering in imgui
image

@nem0 can this thing also show some pictures? This is beautiful

nem0 commented

@Pagghiu yes, the "Y" in the top left corner of the wepage is actually an image

@nem0 you are a wizard πŸ‘
I assume that your work in progress on this item is at https://github.com/nem0/lumixengine_html
Very nice!

nem0 commented

@Pagghiu credit should go mostly to https://github.com/litehtml/litehtml, it handles the hard part.

Started working on a simple colorizing text editor. While it is still in a very early stage, some functions are working now. Uses vanilla ImGui and STL.

texteditor6
texteditor

@BalazsJako

Started working on a simple colorizing text editor

Very nice! Hope this can become a standalone widget/extension :)

This is Part 4. I am splitting issues to reduce loading times and locked the old ones.

Screenshots Part 1 #123
Screenshots Part 2 #539
Screenshots Part 3 #772
Screenshots Part 4 #973
Screenshots Part 5 #1269
Screenshots Part 6 #1607
Screenshots Part 7 #1902
Screenshots Part 8 #2265
Screenshots Part 9 #2529
Also see: Software using dear imgui (you can help complete the list!)

mgodf commented

Simplified excel-like spreadsheet using imgui!
sheet

Ciao @Pagghiu, this looks really nice. Can I ask if you ever got around to open sourcing it?

Simplified excel-like spreadsheet using imgui!
sheet

Ciao @Pagghiu, this looks really nice. Can I ask if you ever got around to open sourcing it?

Ciao @mgodf, thanks.
Unfortunately I've not been able to open source it because it's mixed with some proprietary code and I've never been able to find time to "extract" the sample for it to be a pure dear imgui application.
I remember that back then I was able to get a basic working draft with relatively low effort (4-5 hours of work) by using the https://github.com/codeplea/tinyexpr library. With some additional time I've been modifying the parser to include "group functions" (SUM / STDDEV etc) and a cyclic check to avoid infinite loops in the evaluation.