# ProgressivePipeline

Pipeline -> ProgressivePipeline

Abstract class that extends the abstract Pipeline and provides builtin functionality for progressive rendering. Progressive pipelines define three stages for themselves:

  • Dynamic
  • Progressive
  • Passthrough

Each stage will typically have it's own list of GPass, bu they can share pass instances between them if necessary

At any given time the pipeline can be in one of these stages. Dynamic stage is when the pipeline needs to render dynamic content like for example when the camera is in motion. Progressive stage is when the pipeline has reached a stationary point and progressive rendering can start and accumulate. Passthrough stage is when the pipeline needs to render, without restarting an already existing progressive result. The progressive rendering resulti is passed through as is.

#

Constructors

constructor

#

Properties

accumulating accumulationFrameCount accumulationFrameIndex dynamicStage
passthroughStage progressiveStage

#

Accessors

passes

#

Methods

onStationaryBegin onStationaryEnd onAccumulationComplete

#

Constructors

#

constructor

constructor(speckleRenderer: SpeckleRenderer)
1

Parameters

#

Properties

# accumulating

protected accumulating: boolean;
1

Flag that indicates whether the pipeline is in the process of accumulating samples or not

# accumulationFrameCount

protected accumulationFrameCount: number;
1

The pipeline's desired accumulation frames count. Defaults to 16

# accumulationFrameIndex

protected accumulationFrameIndex: number;
1

The pipeline's current accumulation frame index, 0 if not in the progressive stage

# dynamicStage

protected dynamicStage: Array<GPass>;
1

The pipeline's dynamic rendering stage pass list.

TIP

These passes will be used for rendering in dynamic scenarios, like when the camera is moving

# progressiveStage

protected progressiveStage: Array<GPass>;
1

The pipeline's progressive rendering stage pass list.

TIP

These passes will be used for rendering in static scenarios, like when the camera has stopped and the pipeline needs to accumulate progressive samples

# passthroughStage

protected passthroughStage: Array<GPass>;
1

The pipeline's passthrough rendering stage pass list.

TIP

These passes will be used for rendering in scenarios where the pipeline needs to render, however it wants to keep it's last progressive render result and just pass it through

#

Accessors

# passes

get passes(): Array<GPass>;
1

Gets the pipeline's passes by combining all three of it's stages passes in the following order: dynamic, progressive and passthrough.

Returns: Array<GPass>

#

Methods

# onStationaryBegin

onStationaryBegin(): void
1

Callback for when the pipeline is switching from dynamic/passthrough stage to progressive

Returns: void

# onStationaryEnd

onStationaryEnd(): void
1

Callback for when the pipeline is switching from progressive stage to dynamic

Returns: void

# onAccumulationComplete

onAccumulationComplete(): void
1

Callback for when the pipeline has finished accumulating and is switching from progressive to passthrough

Returns: void