Hacker News new | past | comments | ask | show | jobs | submit login

Other than the REALLY inadvisable name choice (good luck getting precise search results for the term IMGUI now...), this looks great.

The low # of commits and vague name might be a bad signs, but check the repo description: Developed at Media Molecule and used internally for a title they've shipped, with feedback from domain experts like Casey Muratori. Those two points alone make me pretty excited to try this out.

And a brief explanation of why this matters: IMGUI frameworks are increasingly popular for editors, debugging tools, etc. because they eliminate the need for state synchronization between your 'engine' and the visualization/editing UI. You also avoid the need to duplicate your layout in multiple places - you have one function that is the complete description of your UI. This reduces memory usage and can actually be more performant in many cases because you can easily ensure that you're only ever running code to update visible UI. Things like virtualized infinite scrolling become quite trivial.

Among other places, IMGUI techniques are used aggressively in Unity's editor.




I realized after putting this on GitHub that the name is a bit ill-advised considering ImGui is a concept and I am merely providing an implementation here. I will have to think up of a name. Any suggestions?


imgui is kind of catchy.. but alas, there is another project with the same name (which also stands for "immediate mode graphical user interface"), same purpose, written in the same programming language, and also hosted on github!

Differences include that the other imgui is licensed under the zlib license and targets only OpenGL 3.2. Also it appears to be older. And is the first google hit for imgui...

https://github.com/AdrienHerubel/imgui


Was used in Unity's editor, I don't think that this is the case today.

I believe the project was migrated to github recently, but it has been around for awhile.


Still used in Unity for property drawers:

http://docs.unity3d.com/Manual/editor-PropertyDrawers.html

Not sure how much they use it elsewhere, though. It's possible they phased out the other uses.


Hmm...It seems that at least they still are using it:

http://issuetracker.unity3d.com/product/unity/issues?categor...

I read somewhere that the plan was to migrate away from it, a long time ago (2/3 years back?), so perhaps they just decided not to.


Oh they're definitely migrating away from it, because it was pretty terrible. Whether it was terrible because it was a bad implementation, or because it was a bad idea, or because Unity is an editing tool and its users expect a more "retained mode" approach that enables them to build UIs without writing code, is an interesting discussion, but Unity is through with immediate mode UIs, and trying to bury it. Their new stuff is very nice, and leverages many things about Unity's editor and graphical capabilities, but it's certainly not minimal.

http://blogs.unity3d.com/2014/05/28/overview-of-the-new-ui-s...


Interesting, thanks for sharing! I think immediate mode done right could be very liberating, but it requires some more work to get there.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: