Using IMGUI in my Physics Engine.

I just recently implemented ImGui into my physics engine. Working on my physics engine is really fun and challenging, i have a lot more to add and learn to make this a polished programming product. Implementing a Graphical User interface was brought on by looking at the behind the scenes footage of Last Of US by Naughty Dog Inc. They had really simple GUI but it was highly useful to both programmers and game designers. They were able to configure options whilethe game was running instead of changing the source code, recompiling and then re-link the game executable. I wanted to achieve this with my physics engine. The ability to change many variables in a physics scene to test simulations quickly and do some stress tests. I also want to go beyond just changing variables. I’m currently reading C++ for Game Programmers by Micheal J. Dickheiser and in this book he demonstrates the concept of memory management. While learning this i plan to write my own memory management code as well as some useful simple in game profiling for my physics engine which i will display again using Omar’s brilliant imgui. I will also use imgui as a little UI for when i release a demo of my physics engine.

ImGui is created by Omar.
You can find his twitter profile here: Omar

The GitHub for ImGui : ImGui

You can view the behind the scene footage “Grounded” The making of The Last Of Us by naughty dog which features their own dev menu.

I played around with imgui window sizes and it’s color pellet. To give me and idea of how it will look and brainstorm some useful idea i can use for my physics engine.

This slideshow requires JavaScript.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s