Skip to main content
Windows is the primary development platform for Prisma Engine. The engine ships with a DirectX 12 rendering backend as the Windows default, and Vulkan is available as an opt-in alternative. The editor — an ImGui-based scene inspector — is built on Windows by default and uses the Vulkan backend when the PRISMA_BUILD_EDITOR flag is set. All three build targets (engine, editor, runtime) are covered by CMake presets that work from the command line or directly from Visual Studio 2022.

Requirements

Install the following tools before building.
  • Windows 10 or later — Windows 11 recommended for DirectX 12 feature level 12_2
  • Visual Studio 2022 — with the “Desktop development with C++” workload (includes MSVC and CMake integration)
  • CMake 3.20 or later — bundled with Visual Studio 2022, or install separately
  • Vulkan SDK — required if you enable the Vulkan backend via PRISMA_ENABLE_RENDER_VULKAN
The project uses CMake FetchContent by default to download all third-party dependencies (SDL3, ImGui, GLM, VMA, vk-bootstrap, and others) at configure time. You do not need to install them manually unless you set PRISMA_USE_FETCHCONTENT=OFF to switch to vcpkg.

Available presets

All Windows presets target the x64 architecture and use the Visual Studio 17 2022 generator. The engine target builds the core library only — no editor, no runtime app. The editor target adds the ImGui debug UI and is the target to use during active development. The runtime target builds the standalone player for shipping games.

Build commands

Rendering backends

DirectX 12 (default)

DirectX 12 is the primary rendering backend on Windows. It is enabled by default for all Windows presets via the PRISMA_ENABLE_RENDER_DX12 CMake option. No extra SDK installation is required beyond the Windows SDK that ships with Visual Studio.
Shader sources for the DirectX 12 backend are in resources/common/shaders/hlsl/.

Vulkan (opt-in)

Vulkan is available on Windows and is the backend used by the editor target. Enable it by setting PRISMA_ENABLE_RENDER_VULKAN=ON. You must have the Vulkan SDK installed and VULKAN_SDK set in your environment.
Shader sources for Vulkan are in resources/common/shaders/glsl/. The Vulkan adapter lives in src/engine/graphic/adapters/vulkan/.
The editor preset (editor-windows-x64-debug / editor-windows-x64-release) enables Vulkan automatically. The ImGui debug overlay requires the Vulkan backend to be active.

Key CMake flags

Pass these via -D after the preset name to override defaults.
The XAudio2 audio backend (PRISMA_ENABLE_AUDIO_XAUDIO2) is currently disabled pending an interface refactor. SDL3 audio (PRISMA_ENABLE_AUDIO_SDL3) is the active backend on Windows for now.

Conditional compilation

Engine modules are gated by preprocessor defines that mirror the CMake flags. Use these guards in your own code when writing Windows-specific logic:
All available PRISMA_ENABLE_* options are defined in cmake/DeviceOptions.cmake.