Skip to content

TgpuRenderBundleEncoder

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

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:159

TgpuRenderCommands.[$internal]


readonly resourceType: "render-bundle-encoder"

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

TgpuRenderCommands.resourceType

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

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

number

number

number

number

void

TgpuRenderCommands.draw


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

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

number

number

number

number

number

void

TgpuRenderCommands.drawIndexed


drawIndexedIndirect(indirectBuffer, indirectOffset?): void

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

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:133

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:163

Completes the recording and returns the resulting GPURenderBundle

GPURenderBundleDescriptor

GPURenderBundle


setBindGroup(bindGroup): void

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

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:91

Associates a bind group with the given layout

Entries extends Record<string, TgpuLayoutEntry | null>

TgpuBindGroupLayout<Entries>

GPUBindGroup | TgpuBindGroup<Entries>

void

TgpuRenderCommands.setBindGroup


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

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

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:86

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:97

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