Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chadlrnsn/imgui-directx-12-kiero-hook
Universal ImGui implementation through DirectX 12 Hook (kiero)
https://github.com/chadlrnsn/imgui-directx-12-kiero-hook
d3d12 directx dx12 hook imgui imgui-kiero kiero kiero-directx12 kiero-dx12
Last synced: 12 days ago
JSON representation
Universal ImGui implementation through DirectX 12 Hook (kiero)
- Host: GitHub
- URL: https://github.com/chadlrnsn/imgui-directx-12-kiero-hook
- Owner: chadlrnsn
- License: apache-2.0
- Created: 2024-08-11T20:52:39.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-15T18:42:35.000Z (about 1 month ago)
- Last Synced: 2024-12-15T19:36:23.223Z (about 1 month ago)
- Topics: d3d12, directx, dx12, hook, imgui, imgui-kiero, kiero, kiero-directx12, kiero-dx12
- Language: C++
- Homepage:
- Size: 1.22 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ImGui DirectX12 Kiero Hook
[![CI](https://github.com/chadlrnsn/ImGui-DirectX-12-Kiero-Hook/actions/workflows/ci.yml/badge.svg)](https://github.com/chadlrnsn/ImGui-DirectX-12-Kiero-Hook/actions/workflows/ci.yml)A DirectX 12 hook implementation using ImGui and Kiero. This project allows you to inject custom ImGui interfaces into DirectX 12 applications.
## Features
- DirectX 12 Hook implementation
- ImGui integration through Kiero
- Resizable window support
- Fullscreen support
- Minimal performance impact
- Doesn't crash when injected instantly (before window is created)## Requirements
- Windows 10/11
- Visual Studio 2022
- [DirectX SDK](https://www.microsoft.com/en-us/download/details.aspx?id=6812)
- CMake 3.15 or higher
- Git## Building the Project
### Using CMake (Recommended)
1. Clone the repository with submodules:
```bash
git clone --recurse-submodules https://github.com/chadlrnsn/ImGui-DirectX-12-Kiero-Hook
cd ImGui-DirectX-12-Kiero-Hook
```2. Build Release (recommended):
```bash
cmake --preset windows-x64-release
cmake --build build/windows-x64-release --config Release
```Or Debug:
```bash
cmake --preset windows-x64-debug
cmake --build build/windows-x64-debug --config Debug
```The DLL will be in:
- Release: `build/windows-x64-release/Release/ImGui_DirectX12_Hook.dll`
- Debug: `build/windows-x64-debug/Debug/ImGui_DirectX12_Hook.dll`### Using Visual Studio
1. Clone the repository as shown above
2. Open `ImGui-DirectX-12-Kiero-Hook.sln`
3. Select configuration (Debug/Release)
4. Build Solution (Ctrl + B)## Known Issues
- Debug builds with debug layers enabled might crash
- Minor flickering may occur
- Menu freezes when switching to fullscreen (Alt+Enter) while menu is open## Implementation Details
This project uses:
- [Kiero](https://github.com/Rebzzel/kiero) for function hooking
- [Dear ImGui](https://github.com/ocornut/imgui) for the user interface
- [MinHook](https://github.com/TsudaKageyu/minhook) for API hooking## Contributing
Feel free to submit issues and pull requests.[!NOTE]
Only x64 builds are supported due to DirectX 12 limitations.