---
url: /api/passes/renderPass/type-aliases/RenderPass.md
---
# RenderPass\<U *extends* [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<`any`> = [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<`any`>, Context *extends* [`UniformContext`](../../../types/types/interfaces/UniformContext.md) = [`UniformContext`](../../../types/types/interfaces/UniformContext.md)>

```ts
type RenderPass<
  U extends UniformSources<any> = UniformSources<any>,
  Context extends UniformContext = UniformContext,
> = Omit<
  RawRenderPass<UniformValues>,
  "uniforms" | "render" | "setUniformValues" | "onUpdated"
> & {
  uniforms: U;
  render: (options?: RenderOptions<Context>) => void;
  onUpdated: (callback: UpdatedCallback<U>) => void;
};
```

A rendering pass with managed uniform sources.

## Type Declaration

| Name          | Type                                                                                                    | Description                                                        |
| ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| `uniforms`    | `U`                                                                                                     | The original reactive uniform-source object.                       |
| `render()`    | (`options?`: [`RenderOptions`](RenderOptions.md)<`Context`>) => `void`                                | Renders after resolving uniform sources with the supplied context. |
| `onUpdated()` | (`callback`: [`UpdatedCallback`](../../rawRenderPass/type-aliases/UpdatedCallback.md)<`U`>) => `void` | Registers a callback whenever a uniform source changes.            |

## Type Parameters

### U

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

### Context

`Context` *extends* [`UniformContext`](../../../types/types/interfaces/UniformContext.md) = [`UniformContext`](../../../types/types/interfaces/UniformContext.md)
