Interface SurfaceOptions
alphaMode?: GPUCanvasAlphaMode;
format?: GPUTextureFormat;
maxDevicePixelRatio?: number;
msaaSamples?: 1 | 4;
srgb?: boolean;
}
Hierarchy (View Summary)
- SurfaceOptions
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.
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.
Options for createSurface, and for the per-surface portion of
createEngine.