C.U.S.T.O.M - Completely Unpredictable Software Tested Only by Me
A custom C++ Engine built with Vulkan and GLFW, featuring an ImGui-based user interface.
Every frame, the engine coordinates tasks in the following order:
[ Start Frame ]
│
▼
1. Poll Events (GLFW) ──────► Captures Keyboard/Mouse inputs
│
▼
2. New Frame (ImGui) ──────► Resets ImGui geometry contexts
│
▼
3. Engine Update ──────► Updates engine logic & variable states
│
▼
4. Vulkan Render Pass ──────► Acquires Next Image from Swapchain
│ └──► Submits 3D Opaque / Forward pass commands
│ └──► Renders ImGui overlay Draw Data
▼
5. Queue Present ──────► Flips framebuffers to display on screen
│
└──────┴────── (Next Frame Loop)
- Vulkan Renderer: Forward rendering pipeline.
- UI & Docking: Integrated with Dear ImGui (Docking branch).
- Window Management: Powered by GLFW.
Before building the project, ensure you have the following installed:
- CMake (version 3.16 or higher)
- A C++20 compliant compiler (GCC, Clang, or MSVC)
- Vulkan SDK
- Spdlog
- GLFW3
Because this project uses Git Submodules, you must clone it using the --recursive flag:
# Clone the repository with all submodules
git clone --recursive <YOUR_REPOSITORY_URL>
# If you already cloned it without --recursive, run this:
git submodule update --init --recursivemkdir build && cd build
cmake ..
cmake --build .And the execute should be located in ./build/project/MyApplication
This project is licensed under the MIT License.
