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
Available presets
All Windows presets target thex64 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
- CMake presets (recommended)
- Visual Studio 2022
Run configure and build as two separate steps. The preset name is the same for both.Build output lands in
build/<preset-name>/. For example, the release editor outputs to build/editor-windows-x64-release/.Rendering backends
DirectX 12 (default)
DirectX 12 is the primary rendering backend on Windows. It is enabled by default for all Windows presets via thePRISMA_ENABLE_RENDER_DX12 CMake option. No extra SDK installation is required beyond the Windows SDK that ships with Visual Studio.
resources/common/shaders/hlsl/.
Vulkan (opt-in)
Vulkan is available on Windows and is the backend used by the editor target. Enable it by settingPRISMA_ENABLE_RENDER_VULKAN=ON. You must have the Vulkan SDK installed and VULKAN_SDK set in your environment.
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.
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:PRISMA_ENABLE_* options are defined in cmake/DeviceOptions.cmake.