Interface EngineFeatureOptions
alphaMode?: GPUCanvasAlphaMode;
format?: GPUTextureFormat;
maxDevicePixelRatio?: number;
msaaSamples?: 1 | 4;
requiredFeatures: readonly GPUFeatureName[];
requiredLimits?: Record<string, number | undefined>;
srgb?: boolean;
useFloatingOrigin?: boolean;
useHighPrecisionMatrix?: boolean;
}
Hierarchy (View Summary)
- EngineOptions
- EngineFeatureOptions
Properties
Optionalalpha Mode
WebGPU canvas alpha mode. Use "premultiplied" to enable canvas transparency
(clear color with alpha < 1 will let HTML content underneath show through).
Defaults to "opaque".
Optionalformat
Override the swapchain format. Defaults to navigator.gpu.getPreferredCanvasFormat().
Must be a format accepted by GPUCanvasContext.configure() (i.e. not a *-srgb
format — use srgb for that).
Optionalmax Device Pixel Ratio
Clamps the effective device pixel ratio used for the swapchain backing store. Defaults to unclamped (full devicePixelRatio).
Optionalmsaa Samples
MSAA sample count for the main render pass. WebGPU only permits 1 (no MSAA)
or 4 (4x MSAA). Defaults to 4.
Readonlyrequired Features
Optionalrequired Limits
Extra WebGPU device limits to request when calling adapter.requestDevice().
Use to raise per-device caps such as maxColorAttachmentBytesPerSample (default 32),
which is required when rendering into many MRT attachments. Caller is responsible for
staying within the adapter's reported limits.
Optionalsrgb
Render the swapchain through an sRGB view so the GPU applies linear→sRGB encoding
on store (and decodes sRGB→linear when sampling sRGB textures), making alpha
blending — e.g. text/sprite anti-aliasing — gamma-correct. The canvas is configured
with the base format plus viewFormats: [<format>-srgb], and pipelines target the
*-srgb view. Color fed to renderers should be linear (e.g. via
packedSrgbToLinearRgba), and color textures sampled for blending should use an
sRGB format. Defaults to false.
Optionaluse Floating Origin
Enable floating-origin (Large World Rendering) for every scene on this engine.
Requires useHighPrecisionMatrix: true — throws synchronously if set without it.
Defaults to false.
When true, createEngine dynamically imports the LWR runtime
(large-world/floating-origin.js) so engines without LWR never pull the
module into their bundle (tree-shaken via the dynamic-import gate, same
pattern as the F64 storage module).
Optionaluse High Precision Matrix
Enable Float64 intermediate precision for world matrix computations. Defaults to false.
Engine options that explicitly require additional WebGPU device features.