Skip to main content

Function: registerRenderBackend()

registerRenderBackend(options)

registerRenderBackend<Name>(options): void

Experimental

Registers a render backend for planar GenericViewports, following the same extensible-enum model as registerViewportType: the backend id becomes a valid value for setRenderBackend(), the global rendering.planar.renderBackend configuration and per-mount renderBackend options, and — when name is given — a constant on Enums.RenderBackends.

The definition carries the semantic wiring the viewport needs:

  • renderModes tells the planar render-path decision which render mode to select for image-stack vs volume-backed datasets. Each mode co-locates its wire id with the createDefinition factory that injects the render path implementing it into every planar viewport's render path resolver.
  • surface tells the viewport which composited canvas to show while one of the backend's modes is active.

For compile-time typing, augment the RenderBackendRegistry (wire strings) and RenderBackendConstants (constant names) interfaces in your extension's .d.ts.

Custom backends are not fully functional yet, and this registration API is intentionally incomplete: the definition is intended to grow additional parameters describing the backend-specific changes and behaviours being registered (participation in the 'auto' capability resolution, backend-owned surface/canvas creation, per-backend degradation handling). Expect RegisterRenderBackendOptions to change.

Type Parameters

Name extends keyof RenderBackendConstants

Parameters

options: RegisterRenderBackendNamedOptions<Name>

Returns

void

Example

registerRenderBackend({
name: 'WEBGPU',
backend: 'myOrg:webgpu',
renderModes: {
image: {
id: 'myOrg:webgpuImage',
createDefinition: () => new WebGPUImageSlicePath(),
},
volume: {
id: 'myOrg:webgpuVolume',
createDefinition: () => new WebGPUVolumeSlicePath(),
},
},
});
setRenderBackend(RenderBackends.WEBGPU);

Defined in

packages/core/src/RenderingEngine/helpers/renderBackendRegistry.ts:161

registerRenderBackend(options)

registerRenderBackend(options): void

Parameters

options: RegisterRenderBackendUnnamedOptions

Returns

void

Defined in

packages/core/src/RenderingEngine/helpers/renderBackendRegistry.ts:164