Skip to content

TgpuRenderPass

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

A render pass recording into a TgpuCommandEncoder. On top of the draw commands, it exposes the state that WebGPU scopes to a render pass.

Call end() when done recording.

readonly [$internal]: RenderPassInternals<GPURenderPassEncoder>

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

TgpuRenderCommands.[$internal]


readonly resourceType: "render-pass"

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

TgpuRenderCommands.resourceType

beginOcclusionQuery(queryIndex): void

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

number

void


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


end(): void

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

Completes the recording of this render pass

void


endOcclusionQuery(): void

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

void


executeBundles(bundles): void

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

Executes previously recorded GPURenderBundles as part of this pass. As per the WebGPU spec, this resets the raw pass’s pipeline, bind group and vertex/index buffer state. The state tracked by this typed pass is re-applied on the next draw.

Iterable<GPURenderBundle>

void


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


setBlendConstant(color): void

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

readonly [number, number, number, number] | GPUColor

void


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


setScissorRect(x, y, width, height): void

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

number

number

number

number

void


setStencilReference(reference): void

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

number

void


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


setViewport(x, y, width, height, minDepth, maxDepth): void

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

number

number

number

number

number

number

void