Table of Contents

Enum PlatformTarget

Namespace
ShadowDusk.Core
Assembly
ShadowDusk.Core.dll

The consumer runtime/loader an effect is compiled for. Each target is a distinct emitted artifact loaded by a different runtime path, so a shader must be compiled (and validated) per target.

public enum PlatformTarget

Fields

DirectX = 0

DirectX 11 (Windows). Emits DXBC (SM ≤ 5) via the vkd3d-shader backend (cross-platform) or the Windows-only d3dcompiler_47 oracle — never DXC, which emits only SM6 DXIL.

Fna = 4

FNA (the XNA4 reimplementation). Emits the legacy D3D9 Effects Framework binary ("fx_2_0", version token 0xFEFF0901, conventional extension .fxb) with embedded SM1–3 bytecode compiled by vkd3d-shader's D3D_BYTECODE backend. FNA parses it at load time via FNA3D/MojoShader — one artifact serves every FNA graphics backend, so this is the only FNA member. MgfxVersion and DxbcBackend are ignored for this target.

Metal = 2

Metal (macOS/iOS). Not yet implemented — reserved for a future backend.

OpenGL = 1

OpenGL / DesktopGL / WebGL. Emits GLSL via DXC → SPIR-V → SPIRV-Cross → managed MojoShader-dialect rewrite. The default library target.

Vulkan = 3

Vulkan (SPIR-V). Not yet implemented — reserved for a future backend.