Skip to main content

interface.RenderState

API > RenderState

Interface: RenderState

An object describing the what to be rendered and how by RenderContext.render.

Remarks

The render state is immutable by design. You should not attempt to mutate existing objects. The correct way to change render state is to use the modifyRenderState function. This function will create a new copy of objects with new/modified properties, while retaining all objects that hasn't changed. It will also perform basic validation. The engine uses strict equality to determine if some portion of the state has changed. Hence, it's important that unchanged sub objects are not copied.

The render state is serializable via JSON or structuredClone(). This can be useful for test/diagnostics purposes, since the render state should define how the output image eventually is rendered. It may take a while for downloads of streamed resources to complete, however, so the output image will not be fully resolved until all pending downloads are complete. There are also other runtime factors, such as device specific limitations or variations, that may contribute to small deviations in the output image. A direct pixel to pixel comparison between two output images generated by identical render state is thus likely to fail unless it's rendered on the same device and same version of our API, browser, OS and drivers.

Extended By

Properties

background

readonly background: RenderStateBackground

background/environment related state.

Source

@novorender/core3d/state/index.ts:36


camera

readonly camera: RenderStateCamera

camera related state.

Source

@novorender/core3d/state/index.ts:39


clipping

readonly clipping: RenderStateClipping

Clipping planes related state.

Source

@novorender/core3d/state/index.ts:63


cube

readonly cube: RenderStateCube

@internal.

Source

@novorender/core3d/state/index.ts:51


dynamic

readonly dynamic: RenderStateDynamicObjects

Dynamic objects related state.

Source

@novorender/core3d/state/index.ts:60


grid

readonly grid: RenderStateGrid

Grid helper related state.

Source

@novorender/core3d/state/index.ts:45


highlights

readonly highlights: RenderStateHighlightGroups

Highlights related state.

Source

@novorender/core3d/state/index.ts:66


outlines

readonly outlines: RenderStateOutlines

Outlines related state.

Source

@novorender/core3d/state/index.ts:69


output

readonly output: RenderStateOutput

Output image related state.

Source

@novorender/core3d/state/index.ts:33


pick

readonly pick: RenderStatePick

Pick info rendering related state.

Source

@novorender/core3d/state/index.ts:81


points

readonly points: RenderStatePointCloud

Point cloud rendering related state.

Source

@novorender/core3d/state/index.ts:75


quality

readonly quality: RenderStateQuality

Render quality related state.

Source

@novorender/core3d/state/index.ts:42


scene

readonly scene: undefined | RenderStateScene

Static, streamable scene related state.

Source

@novorender/core3d/state/index.ts:54


terrain

readonly terrain: RenderStateTerrain

Terrain rendering related state.

Source

@novorender/core3d/state/index.ts:57


tonemapping

readonly tonemapping: RenderStateTonemapping

Tonemapping related state.

Source

@novorender/core3d/state/index.ts:72


toonOutline

readonly toonOutline: RenderStateToonOutline

Toon outline rendering related state.

Source

@novorender/core3d/state/index.ts:78