Skip to content

transformFeedback() ​

ts
function transformFeedback<
  O extends string,
  U extends UniformSources<UniformContext>,
>(params: {
  gl: WebGL2RenderingContext;
  vertex: string;
  attributes?: Record<string, Attribute>;
  uniforms?: U;
  outputs: Record<
    O,
    {
      size: number;
    }
  >;
}): TransformFeedbackPass<O, U>;

Creates a Transform Feedback pass for GPGPU tasks without rendering to a texture.

It allows you to run a vertex shader and capture its output varyings into buffers that can then be read back by the CPU or used as input for another pass.

Type Parameters ​

O ​

O extends string

U ​

U extends UniformSources<UniformContext>

Parameters ​

params ​

Configuration for the transform feedback pass.

gl ​

WebGL2RenderingContext

WebGL2 context.

vertex ​

string

Vertex shader source. Should write to the output varyings.

attributes? ​

Record<string, Attribute> = {}

Vertex attributes (input buffers).

uniforms? ​

U = ...

Uniform values for the pass.

outputs ​

Record<O, { size: number; }>

Definition of the transform feedback output buffers. Maps varying names to their expected component size (e.g., 3 for vec3).

Returns ​

TransformFeedbackPass<O, U>

Released under the MIT License.