TgpuRenderPass
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:189
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.
Extends
Section titled “Extends”Properties
Section titled “Properties”[$internal]
Section titled “[$internal]”
readonly[$internal]:RenderPassInternals<GPURenderPassEncoder>
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:190
Overrides
Section titled “Overrides”TgpuRenderCommands.[$internal]
resourceType
Section titled “resourceType”
readonlyresourceType:"render-pass"
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:191
Overrides
Section titled “Overrides”TgpuRenderCommands.resourceType
Methods
Section titled “Methods”beginOcclusionQuery()
Section titled “beginOcclusionQuery()”beginOcclusionQuery(
queryIndex):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:204
Parameters
Section titled “Parameters”queryIndex
Section titled “queryIndex”number
Returns
Section titled “Returns”void
draw()
Section titled “draw()”draw(
vertexCount,instanceCount?,firstVertex?,firstInstance?):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:129
Parameters
Section titled “Parameters”vertexCount
Section titled “vertexCount”number
instanceCount?
Section titled “instanceCount?”number
firstVertex?
Section titled “firstVertex?”number
firstInstance?
Section titled “firstInstance?”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”drawIndexed()
Section titled “drawIndexed()”drawIndexed(
indexCount,instanceCount?,firstIndex?,baseVertex?,firstInstance?):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:135
Parameters
Section titled “Parameters”indexCount
Section titled “indexCount”number
instanceCount?
Section titled “instanceCount?”number
firstIndex?
Section titled “firstIndex?”number
baseVertex?
Section titled “baseVertex?”number
firstInstance?
Section titled “firstInstance?”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.drawIndexed
drawIndexedIndirect()
Section titled “drawIndexedIndirect()”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(...).
Parameters
Section titled “Parameters”indirectBuffer
Section titled “indirectBuffer”Buffer marked with ‘indirect’ usage containing draw parameters or raw GPUBuffer
GPUBuffer | TgpuBuffer<BaseData> & IndirectFlag
indirectOffset?
Section titled “indirectOffset?”PrimitiveOffsetInfo pointing to the first draw parameter. If not provided, starts at offset 0. To obtain safe offsets, use d.memoryLayoutOf(...).
number | PrimitiveOffsetInfo
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.drawIndexedIndirect
drawIndirect()
Section titled “drawIndirect()”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(...).
Parameters
Section titled “Parameters”indirectBuffer
Section titled “indirectBuffer”Buffer marked with ‘indirect’ usage containing draw parameters or raw GPUBuffer
GPUBuffer | TgpuBuffer<BaseData> & IndirectFlag
indirectOffset?
Section titled “indirectOffset?”PrimitiveOffsetInfo pointing to the first draw parameter. If not provided, starts at offset 0. To obtain safe offsets, use d.memoryLayoutOf(...).
number | PrimitiveOffsetInfo
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.drawIndirect
end():
void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:217
Completes the recording of this render pass
Returns
Section titled “Returns”void
endOcclusionQuery()
Section titled “endOcclusionQuery()”endOcclusionQuery():
void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:205
Returns
Section titled “Returns”void
executeBundles()
Section titled “executeBundles()”executeBundles(
bundles):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:214
Executes previously recorded GPURenderBundles as part of this pass.
As per the WebGPU spec, this resets the raw pass’s pipeline, bind group,
vertex/index buffer and immediate data state. The state tracked by this
typed pass (including values set via setImmediates) is re-applied on
the next draw.
Parameters
Section titled “Parameters”bundles
Section titled “bundles”Iterable<GPURenderBundle>
Returns
Section titled “Returns”void
setBindGroup()
Section titled “setBindGroup()”Call Signature
Section titled “Call Signature”setBindGroup(
bindGroup):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:91
Associates a bind group with the layout it was created from
Parameters
Section titled “Parameters”bindGroup
Section titled “bindGroup”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setBindGroup
Call Signature
Section titled “Call Signature”setBindGroup<
Entries>(bindGroupLayout,bindGroup):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:93
Associates a bind group with the given layout
Type Parameters
Section titled “Type Parameters”Entries
Section titled “Entries”Entries extends Record<string, TgpuLayoutEntry | null>
Parameters
Section titled “Parameters”bindGroupLayout
Section titled “bindGroupLayout”TgpuBindGroupLayout<Entries>
bindGroup
Section titled “bindGroup”GPUBindGroup | TgpuBindGroup<Entries>
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setBindGroup
setBlendConstant()
Section titled “setBlendConstant()”setBlendConstant(
color):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:202
Parameters
Section titled “Parameters”readonly [number, number, number, number] | GPUColor
Returns
Section titled “Returns”void
setImmediates()
Section titled “setImmediates()”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.
Type Parameters
Section titled “Type Parameters”T extends AnyWgslData
Parameters
Section titled “Parameters”immediate
Section titled “immediate”ArrayBuffer | ArrayBufferView<ArrayBufferLike> | InferInput<T>
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setImmediates
setIndexBuffer()
Section titled “setIndexBuffer()”setIndexBuffer<
TData>(buffer,indexFormat,offset?,size?):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:107
Sets the current index buffer
Type Parameters
Section titled “Type Parameters”TData extends WgslArray<BaseData> | Disarray<BaseData>
Parameters
Section titled “Parameters”buffer
Section titled “buffer”GPUBuffer | TgpuBuffer<TData> & IndexFlag
indexFormat
Section titled “indexFormat”GPUIndexFormat
offset?
Section titled “offset?”number
number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setIndexBuffer
setPipeline()
Section titled “setPipeline()”setPipeline(
pipeline):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:88
Sets the current TgpuRenderPipeline for subsequent draw calls
Parameters
Section titled “Parameters”pipeline
Section titled “pipeline”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setPipeline
setScissorRect()
Section titled “setScissorRect()”setScissorRect(
x,y,width,height):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:201
Parameters
Section titled “Parameters”number
number
number
height
Section titled “height”number
Returns
Section titled “Returns”void
setStencilReference()
Section titled “setStencilReference()”setStencilReference(
reference):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:203
Parameters
Section titled “Parameters”reference
Section titled “reference”number
Returns
Section titled “Returns”void
setVertexBuffer()
Section titled “setVertexBuffer()”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
Type Parameters
Section titled “Type Parameters”TData extends WgslArray<BaseData> | Disarray<BaseData>
Parameters
Section titled “Parameters”vertexLayout
Section titled “vertexLayout”TgpuVertexLayout<TData>
buffer
Section titled “buffer”GPUBuffer | TgpuBuffer<TData> & VertexFlag
offset?
Section titled “offset?”number
number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”TgpuRenderCommands.setVertexBuffer
setViewport()
Section titled “setViewport()”setViewport(
x,y,width,height,minDepth,maxDepth):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:193
Parameters
Section titled “Parameters”number
number
number
height
Section titled “height”number
minDepth
Section titled “minDepth”number
maxDepth
Section titled “maxDepth”number
Returns
Section titled “Returns”void
© Software Mansion 2026. All trademarks and copyrights belong to their respective owners. Read about our Privacy Policy.