Skip to content

TgpuRenderBundleEncoder

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:175

Records draw commands into a render bundle, mirroring GPURenderBundleEncoder.

Call finish() to obtain a GPURenderBundle, replayable in a render pass via TgpuRenderPass.executeBundles.

readonly [$internal]: RenderPassInternals<GPURenderBundleEncoder>

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:176

TgpuRenderCommands.[$internal]


readonly resourceType: "render-bundle-encoder"

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:177

TgpuRenderCommands.resourceType

draw(vertexCount, instanceCount?, firstVertex?, firstInstance?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:129

number

number

number

number

void

TgpuRenderCommands.draw


drawIndexed(indexCount, instanceCount?, firstIndex?, baseVertex?, firstInstance?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:135

number

number

number

number

number

void

TgpuRenderCommands.drawIndexed


drawIndexedIndirect(indirectBuffer, indirectOffset?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:163

Draws indexed primitives using parameters read from a buffer. The buffer must contain 5 consecutive 32-bit integer values (indexCount u32, instanceCount u32, firstIndex u32, baseVertex i32, firstInstance u32). To get the correct offset within complex data structures, use d.memoryLayoutOf(...).

Buffer marked with ‘indirect’ usage containing draw parameters or raw GPUBuffer

GPUBuffer | TgpuBuffer<BaseData> & IndirectFlag

PrimitiveOffsetInfo pointing to the first draw parameter. If not provided, starts at offset 0. To obtain safe offsets, use d.memoryLayoutOf(...).

number | PrimitiveOffsetInfo

void

TgpuRenderCommands.drawIndexedIndirect


drawIndirect(indirectBuffer, indirectOffset?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:150

Draws primitives using parameters read from a buffer. The buffer must contain 4 consecutive u32 values (vertexCount, instanceCount, firstVertex, firstInstance). To get the correct offset within complex data structures, use d.memoryLayoutOf(...).

Buffer marked with ‘indirect’ usage containing draw parameters or raw GPUBuffer

GPUBuffer | TgpuBuffer<BaseData> & IndirectFlag

PrimitiveOffsetInfo pointing to the first draw parameter. If not provided, starts at offset 0. To obtain safe offsets, use d.memoryLayoutOf(...).

number | PrimitiveOffsetInfo

void

TgpuRenderCommands.drawIndirect


finish(descriptor?): GPURenderBundle

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:180

Completes the recording and returns the resulting GPURenderBundle

GPURenderBundleDescriptor

GPURenderBundle


setBindGroup(bindGroup): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:91

Associates a bind group with the layout it was created from

TgpuBindGroup

void

TgpuRenderCommands.setBindGroup

setBindGroup<Entries>(bindGroupLayout, bindGroup): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:93

Associates a bind group with the given layout

Entries extends Record<string, TgpuLayoutEntry | null>

TgpuBindGroupLayout<Entries>

GPUBindGroup | TgpuBindGroup<Entries>

void

TgpuRenderCommands.setBindGroup


setImmediates<T>(immediate, value): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:124

Provides a value for the given immediate variable, used by subsequent draw calls. The value is captured (copied) at call time; mutating it afterwards has no effect until it is set again. Takes precedence over values held by the pipeline (pipeline.with(immediate, value)) and persists across pipeline switches until set again, like any other pass-level state.

Passing an ArrayBuffer or typed array skips serialization entirely; the bytes are copied verbatim and the caller guarantees they match the schema’s layout.

T extends AnyWgslData

TgpuImmediateVar<T>

ArrayBuffer | ArrayBufferView<ArrayBufferLike> | InferInput<T>

void

TgpuRenderCommands.setImmediates


setIndexBuffer<TData>(buffer, indexFormat, offset?, size?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:107

Sets the current index buffer

TData extends WgslArray<BaseData> | Disarray<BaseData>

GPUBuffer | TgpuBuffer<TData> & IndexFlag

GPUIndexFormat

number

number

void

TgpuRenderCommands.setIndexBuffer


setPipeline(pipeline): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:88

Sets the current TgpuRenderPipeline for subsequent draw calls

TgpuRenderPipeline

void

TgpuRenderCommands.setPipeline


setVertexBuffer<TData>(vertexLayout, buffer, offset?, size?): void

Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:99

Binds a vertex buffer to the given vertex layout

TData extends WgslArray<BaseData> | Disarray<BaseData>

TgpuVertexLayout<TData>

GPUBuffer | TgpuBuffer<TData> & VertexFlag

number

number

void

TgpuRenderCommands.setVertexBuffer

© Software Mansion 2026. All trademarks and copyrights belong to their respective owners. Read about our Privacy Policy.