IApplication<T> subclass.
Requirements
Before you start, make sure you have the following installed:- CMake 3.20 or later
- C++20 compiler — GCC 11+, Clang 13+, or MSVC 2022+
- Vulkan SDK 1.3+ — install
libvulkan-devon Ubuntu/Debian, or download from vulkan.lunarg.com
The
prune branch of Prisma Engine focuses exclusively on SDL3 + Vulkan. DirectX 12, XAudio2, and OpenGL backends are not available on this branch. Make sure your system supports Vulkan 1.3 before proceeding.Steps
1
Download the SDK
Download the prebuilt SDK tarball from the GitHub releases page and extract it into your project directory. Replace This places a ready-to-use project template — including a starter
VERSION with the SDK version you want, for example 1.0.1.CMakeLists.txt and source files — directly in your current directory.2
Create CMakeLists.txt
If you prefer to integrate the SDK manually rather than using the template, create a
CMakeLists.txt that downloads and links the SDK automatically at configure time.3
Write your first app
Create The
src/main.cpp. Your application must subclass IApplication<T> and implement three lifecycle methods: Initialize(), Run(), and Shutdown().IApplication<T> template uses CRTP (Curiously Recurring Template Pattern) to allow the engine to access your concrete type without virtual dispatch overhead. The LOG_INFO macro writes to the engine’s thread-safe logger, which is 100% complete and available across all platforms.4
Build and run
Configure and build with CMake, then run the resulting binary.On a successful build, the engine initializes, runs your game loop, and shuts down cleanly. You should see log output from the
LOG_INFO call in your Initialize() method.Next steps
Now that your project builds, explore the rest of the engine:Build from source
Build the engine, editor, or runtime directly from the repository using CMake presets.
ECS architecture
Learn how to define components, create systems, and wire up the game world using the Entity Component System.
Rendering system
Understand the Vulkan backend, render pipelines, and shader management.
SDK overview
See the full SDK directory structure, CMake helpers, and sample projects.