Examples
There are a number of examples for custom renderers in the UntitledImGuiFramework that you can use:
- Basic OpenGL - Built-in OpenGL renderer
- Basic Vulkan - Built-in Vulkan renderer
- Basic WebGPU - Built-in WebGPU renderer
- Basic Metal, DirectX12 and bgfx - UImGuiRendererExamples
Tips
Creating a compliant renderer
Here is a checklist for nice-to-have features we recommend you implement in your renderer:
- Supporting V-Sync from the renderer settings
- Supporting MSAA from the renderer settings
- Supporting texture filtering in your custom texture renderers
- Fill the renderer metadata strings if possible
- Using
ImGui::GetStyle().Colors[ImGuiCol_WindowBg]as the clear colour - Implementing robust framebuffer resizing
- For custom dear imgui renderer backends (when using renderer abstractions like bgfx):
- Adding support for multi-viewports
- Supporting the dynamic font API from dear imgui 1.92