Perhaps for the better, there is no method to blindly and agnostically draw text onto the game engine’s window:
- OpenGL or DirectX?
- Which version?
- SDL or GLFW?
- Windows, Mac OS X, or Linux?
There are simply too many variables. For this reason, I have chosen to use dear imgui to help leverage my need to draw data on the screen. However, I quickly realized that adding a helper library to dear imgui would allow:
- The user to use his own dear imgui helper library.
- Me to save time when looking up/binding imgui GUI elements.
… This was back when GGEngine was initially being developed, of course. So ChronoWatch depended on GGEngine’s dear imgui helper.
This helper has now been reimplemented in a separate library so that the following is possible:
Simply, calling ChronoWatch::SysInfo.ImguiCommands() before ImGui::Render() will have ChronoWatch draw all of its profiling data. Cool!
Time spent: 8 hours. (Dependencies are hard!)