Open ocornut opened 7 years ago
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.
@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.
This helped us visualize the problems with transitioning from one server to another seamlessly which were:
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
Electric Eye testing tool made and used at NetFlix
Here are some screenshots of how we're using dear imgui in Overgrowth:
Simplified excel-like spreadsheet using imgui!
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:
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.
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.
Currently building a 2D framework / GameEngine (as a little Sunday project) and am currently implementing some debug- / editor tools
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.
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).
I created a component for file selection, folder selection and save the file:
very nice , better than native os dialog system :)
@codz01 Yeah, it looks pretty. But it has a few details:
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
Some screens :)
project selection screen...
dark bluish theme...
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).
graph based noise tool https://github.com/mgerhardy/engine
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:
It work by using the channel split feature to render a stencil mask before the items.
@RUSshy I think, is a good idea. :)
I created simple spline curve editor
I made a overview of all textures uploaded to the GPU via OpenGL
Cool. Here's the one I am using (I didn't write it, someone at Pastagames did):
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.
Small clip (at 5fps due to GIF constraints) of my sprite editor.
And a full-size screenshot with some onion skins visible too:
Special K Modding System (NieR: Automata plug-in)
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.
We used dear imgui in our 64 KB intro to edit parameters on the fly:
gpuvis (GPU Trace Visualizer) https://github.com/mikesart/gpuvis
Stagemaster http://blog.cityboundsim.com/introducing-stagemaster/
Some screens of imgui use in development of Below (http://www.whatliesbelow.com/)
Object state editing and lua table viewing/editing
Foliage Editing / Debugging / Performance Tracking
Simple Debug Map For Generated World
In Game CPU Profiler
Level Editing / Object Placement Also using: https://github.com/CedricGuillemet/ImGuizmo
Wind Configuration
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.
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).
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...
This is Part 4, 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!