Game engine from scratch #4 - ImGui integration

29 January 2024

I wanted to test the ECS implementation for the scene representation and its rendering in realtime, rather than via boring tests, so I decided to add ImGui (https://github.com/ocornut/imgui)

Because I wrote a low level graphics API wrapper, I had to adapt the ImGui backend as well to use this wrapper.

Handling all input via my custom platform abstraction layer was also slightly difficult, in order to support IME (Input method editor) and UTF-8 / a Unicode character set.

Initially I wanted to build a custom UI framework, but that would distract from the main initial task: getting the 3D scene rendering to work properly. So for that reason, ImGui was used.

Apparently, building a game engine is a lot of hard work and requires proper software engineering, which actually isn’t all that exciting to show on YouTube, and I’d rather focus on building a good engine / end product than spending 50% of my time creating good content.