# imgui-sdl-renderer This is the glue library required to have an ImGui renderer implementation for SDL's rendering API. As simple as it sounds but it may get split into three libraries in the future: - `imgui-sdl-renderer`: Just the SDL Renderer glue for ImGui - `imgui-sdl`: General SDL glue for ImGui (input handling, clipboard, etc.) - `imgui`: Core ImGUI code that has no dependencies on any backend. This will be so that we can very easily add `imgui-sdl-opengl` and `imgui-sdl-vulkan`, etc. in the future without having to duplicate the SDL glue or ImGUI core code. ## Dependency Resolution `hdk-is3r` resolves SDL3 with the same system-first strategy as other HDK modules: 1. Try `find_package(SDL3 )`. 2. If unavailable or too old, optionally fall back to `FetchContent`. Relevant CMake options: - `HDK_IS3R_SYSTEM_SDL3` - `HDK_IS3R_FETCH_SDL3_FALLBACK` - `HDK_IS3R_MIN_SDL3_VERSION` ## Example Assets `hdk-is3r` examples follow the shared HDK asset resolution contract and stage assets beside example executables in the build tree. Resolution order: 1. Repository checkout assets (monorepo use) 2. Installed `hdk-assets` package with minimum version 3. `FetchContent` fallback Relevant CMake options: - `HDK_IS3R_EXAMPLES_FETCH_ASSETS` - `HDK_IS3R_EXAMPLES_ASSETS_MIN_VERSION` - `HDK_IS3R_EXAMPLES_ASSETS_GIT_REPOSITORY` - `HDK_IS3R_EXAMPLES_ASSETS_GIT_TAG` ## Installation Layout When enabled, installed is3r examples and shared assets go under one install prefix. - Example binaries: `${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}` - Shared assets: `${CMAKE_INSTALL_PREFIX}/${HDK_IS3R_EXAMPLES_INSTALL_ASSETSDIR}` Default shared assets directory is `assets`, yielding `${CMAKE_INSTALL_PREFIX}/assets`.