> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# ProgressiveGPass

> Base abstract class for all passes that need to converge/accumulate over more than one frame.

[BaseGPass](/developers/viewer/rendering-pipeline-api/base-g-pass-api) -> [ProgressiveGPass](/developers/viewer/rendering-pipeline-api/progressive-g-pass-api)

## Accessors

### accumulationFrames

```typescript theme={null}
get accumulationFrames(): number
set accumulationFrames(value: number)
```

Gets or sets the total number of frames the pass needs to converge/accumulate in.

**Returns**: `number`

### frameIndex

```typescript theme={null}
get frameIndex(): number
set frameIndex(value: number)
```

Gets or sets the frame index in the current convergence/accumulation cycle.

**Returns**: `number`

## Methods

### render

```typescript theme={null}
render(
  renderer: WebGLRenderer,
  camera?: PerspectiveCamera | OrthographicCamera | null,
  scene?: Scene
): boolean
```

Implementation for the base class abstract `render` which automatically returns `true` while `frameIndex < accumulationFrames`, and `false` otherwise.

**Parameters**:

* **renderer**: The hosting [`WebGLRenderer`](https://threejs.org/docs/index.html?q=webgl#api/en/renderers/WebGLRenderer)
* *optional* **camera**: The rendering camera.
* *optional* **scene**: The scene to render.

**Returns**: `boolean`
