PRISMA_. These options let you select rendering backends, audio drivers, dependency management strategy, editor inclusion, and optional upscaling technologies. Options are split across several CMake modules: cmake/DeviceOptions.cmake for device feature flags and cmake/UpscalerOptions.cmake for upscaler support.
The current default branch uses a simplified configuration that forces SDL3 + Vulkan + ImGui and locks out DirectX 12, OpenGL, and XAudio2. The tables below reflect both the option names and their effective defaults in this configuration.
Setting options
Pass options on the CMake configure command line:Build configuration
These options control what gets built and how the engine library is packaged.WebAssembly requirements
PRISMA_BUILD_SHARED_LIBS and PRISMA_RUNTIME_DYNAMIC_LOAD must both be disabled for WebAssembly builds:
Rendering backends
Options in this group control which graphics API backends are compiled into the engine. Only one backend needs to be active at a time, though multiple can coexist.Conditional compilation
Backend availability is exposed as preprocessor definitions:Audio backends
Input
Editor and debug UI
Platform mode summary
The engine supports two configuration modes:Native mode (default)
Uses platform-specific APIs for best performance.
- Windows: DirectX 12, XAudio2, XInput
- Android: Vulkan, AAudio, GameActivity
- Linux: OpenGL / Vulkan
Cross-platform mode
Uses SDL3 for portable audio and input.
- Audio: SDL3 backend on all platforms
- Input: SDL3 input on all platforms
Enable with
PRISMA_USE_NATIVE_AUDIO=OFFandPRISMA_USE_NATIVE_INPUT=OFF
Upscaler options
Upscaler support is configured incmake/UpscalerOptions.cmake. All upscalers are disabled by default and require additional SDK setup.
DLSS requires the NVIDIA DLSS SDK to be present at configure time. The SDK is not fetched via FetchContent and must be installed separately. See NVIDIA’s developer portal for download instructions.
Advanced rendering features
These options enable GPU features beyond the base rendering pipeline. All are off by default.Dependency management
When
PRISMA_USE_FETCHCONTENT=OFF, dependencies are resolved via vcpkg. Initialize vcpkg before configuring:
cmake/DependencyVersions.cmake.