![]() ![]() It is less error-prone (less code and fewer bugs) than traditional retained-mode interfaces, and lends itself to creating dynamic user interfaces. The IMGUI paradigm through its API tries to minimize superfluous state duplication, state synchronization, and state retention from the user's point of view. You can use it to expose the internals of a subsystem in your engine, to create a logger, an inspection tool, a profiler, a debugger, an entire game-making editor/framework, etc. You can use it along with your own reflection data to browse your dataset live. You can use it to trace a running algorithm by just emitting text commands. On the extreme side of short-livedness: using the Edit&Continue (hot code reload) feature of modern compilers you can add a few widgets to tweak variables while your application is running, and remove the code a minute later! Dear ImGui is not just for tweaking values. Display contents in a scrolling region ImGui::TextColored(ImVec4( 1, 1, 0, 1), "Important Stuff") ĭear ImGui allows you to create elaborate tools as well as very short-lived ones. ImGui::PlotLines( "Samples ", samples, 100) Generate samples and plot them float samples ![]() Edit a color stored as 4 floats ImGui::ColorEdit4( "Color ", my_color) ImGui::Begin( "My First Tool ", &my_tool_active, ImGuiWindowFlags_MenuBar) Create a window called "My First Tool", with a menu bar. Battle-tested, used by many major actors in the game industry.Efficient runtime and memory consumption.Portable, minimize dependencies, run on target (consoles, phones, etc.).Easy to use to create ad hoc short-lived tools and long-lived, more elaborate tools.Easy to use to create code-driven and data-driven tools. ![]()
0 Comments
Leave a Reply. |