- README.md: Updated with live demo links, PR table, badge shields, backend improvement summary, and simplified structure - CODE_OF_CONDUCT.md: Contributor Covenant v2.1 - .github/ISSUE_TEMPLATE/: Bug report and feature request templates
imgui_xl
Dear ImGui XL — An enhanced community fork of Dear ImGui, focused on backend improvements, CI/CD fixes, sensors, and extended examples.
Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline-enabled application. It is fast, portable, renderer-agnostic, and self-contained (no external dependencies).
Live Demos
| Demo | Description | Link |
|---|---|---|
| Showcase | Landing page with all demos + PR list | turtle-pb.github.io/imgui_xl |
| Echonation Visual | 5-mode audio-reactive canvas demo | echonation.html |
| Pixel OS Model | Interactive Pixel 8 Pro phone simulator | pixel_os_demo.html |
Upstream Contributions
This fork tracks upstream and contributes back via PRs:
| PR | Issue | Description | Status |
|---|---|---|---|
| #9467 | #8878 | Android CI: Pin Gradle 9.4.1 via setup-gradle action (no binaries) | Open |
| #9468 | #9390 | Vulkan: Fixed use-after-free in multi-viewport dynamic rendering | Open |
| #9469 | #3446 | Android: Move JNI keyboard/clipboard into backend, add sensors + display | Open |
Backend Improvements (PR #9469)
- JNI keyboard/clipboard — Moved ~120 lines of JNI boilerplate from the example into the backend. App code is now just
Init → Loop → Shutdown. - 8 sensor types — Accelerometer, gyroscope, magnetometer, light, proximity, pressure, humidity, ambient temperature via NDK ASensor API (no JNI).
- Display metrics — DPI, density, xdpi/ydpi, refresh rate, orientation queried via JNI. Auto-scales ImGui style to actual device density.
- Clipboard — Full clipboard support via JNI to Android ClipboardManager.
- Zero binaries — No jar, no wrapper, no .gitignore changes.
CI Fix (PR #9467)
- Uncommented and updated
setup-gradle@v6action to pin Gradle 9.4.1 (required by AGP 9.2.0). - Single 4-line change to
build.yml, no binaries added.
Vulkan Fix (PR #9468)
- Deep-copy
SurfaceFormat.formatinto persistent buffer inImGui_ImplVulkan_CreateWindow()to prevent use-after-free when viewport is destroyed. - Follows the same deep-copy pattern already used in
CreateMainPipeline().
Sync Status
| Branch | Tracks | Status |
|---|---|---|
master |
upstream/master |
Synced |
docking |
upstream/docking |
Synced |
Quick Start
# Clone
git clone https://github.com/Turtle-PB/imgui_xl.git
cd imgui_xl
# Build example_null (no backend dependencies needed)
# Windows (MinGW)
mingw32-make -C examples/example_null
# Windows (MSVC)
cd examples\example_null
.\build_win32.bat
# Linux/macOS
cd examples/example_null
make
Contributing
See CONTRIBUTING.md for guidelines on submitting issues, PRs, and syncing with upstream.
License
MIT License — see LICENSE.txt for details.
Credits
Dear ImGui is developed by Omar Cornut and every direct or indirect contributor to the GitHub repository.
Echonation visuals inspired by @Echonation. Fork by Paul Adcock (Turtle-PB).