Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C.U.S.T.O.M Engine

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.

C.U.S.T.O.M Engine Screenshot

The Main Architecture Loop

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)

Features

  • Vulkan Renderer: Forward rendering pipeline.
  • UI & Docking: Integrated with Dear ImGui (Docking branch).
  • Window Management: Powered by GLFW.

Prerequisites

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

How to Clone and Build

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 --recursive

Building the Project

mkdir build && cd build
cmake ..
cmake --build .

And the execute should be located in ./build/project/MyApplication

📜 License

This project is licensed under the MIT License.

About

An application engine in C++ emphasizes (or at least tries) raw customizable and performance.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Contributors

Languages