---
url: /api/passes/compositeEffectPass/type-aliases/CompositeEffectPass.md
---
# CompositeEffectPass\<U *extends* [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`EffectUniformContext`](../../effectPass/type-aliases/EffectUniformContext.md)> = [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`EffectUniformContext`](../../effectPass/type-aliases/EffectUniformContext.md)>>

```ts
type CompositeEffectPass<
  U extends UniformSources<EffectUniformContext> =
    UniformSources<EffectUniformContext>,
> = Omit<EffectPass<U>, "fragment" | "vertex" | "getResolution"> & {
  passes: EffectPass[];
};
```

An effect pass composed of multiple sub-passes.

## Type Declaration

| Name     | Type                                                          | Description                                                  |
| -------- | ------------------------------------------------------------- | ------------------------------------------------------------ |
| `passes` | [`EffectPass`](../../effectPass/type-aliases/EffectPass.md)\[] | The sequence of sub-passes executed by the composite effect. |

## Type Parameters

### U

`U` *extends* [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`EffectUniformContext`](../../effectPass/type-aliases/EffectUniformContext.md)> = [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`EffectUniformContext`](../../effectPass/type-aliases/EffectUniformContext.md)>

## See

* [EffectPass](../../effectPass/type-aliases/EffectPass.md)
* [RenderPass](../../renderPass/type-aliases/RenderPass.md)
