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
- Home
- Beginner content
- Install guide
- Creating and using the UI components
- The Instance
- The Init Info struct
- Building better titlebar menus
- Textures
- Logging
- Unicode support
- Additional features
- Client-side bar
- Custom type definitions
- Memory management
- C API development
- Config files and Folders
- Interfaces
- Internal Event safety
- Customising the build system
- Modules system
- Collaborating with others
- Advanced content
- Developer and contributor resources
- Misc