---
url: /api/passes/transformFeedback/type-aliases/TransformFeedbackPass.md
---
# TransformFeedbackPass\<O *extends* `string`, U *extends* [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`UniformContext`](../../../types/types/interfaces/UniformContext.md)> = `Record`<`string`, `never`>>

```ts
type TransformFeedbackPass<
  O extends string,
  U extends UniformSources<UniformContext> = Record<string, never>,
> = Omit<
  RenderPass<U>,
  "initialize" | "target" | "setTarget" | "setSize" | "vertex" | "fragment"
> & {
  getOutputData: (bufferName: O) => Float32Array;
  outputBuffers: Record<O, WebGLBuffer>;
};
```

Specialized render pass for Transform Feedback.

## Type Declaration

| Name              | Type                                  | Description                                      |
| ----------------- | ------------------------------------- | ------------------------------------------------ |
| `getOutputData()` | (`bufferName`: `O`) => `Float32Array` | Retrieves data from a specific output buffer.    |
| `outputBuffers`   | `Record`<`O`, `WebGLBuffer`>        | Raw WebGLBuffer handles for each output varying. |

## Type Parameters

### O

`O` *extends* `string`

### U

`U` *extends* [`UniformSources`](../../../types/types/type-aliases/UniformSources.md)<[`UniformContext`](../../../types/types/interfaces/UniformContext.md)> = `Record`<`string`, `never`>
