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.
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:173
Overrides
Section titled “Overrides”TgpuRenderCommands.[$internal]
resourceType
Section titled “resourceType”
readonlyresourceType:"render-pass"
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:174
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:187
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:112
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:118
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: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(...).
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: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(...).
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:199
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:188
Returns
Section titled “Returns”void
executeBundles()
Section titled “executeBundles()”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.
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:89
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:91
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:185
Parameters
Section titled “Parameters”readonly [number, number, number, number] | GPUColor
Returns
Section titled “Returns”void
setIndexBuffer()
Section titled “setIndexBuffer()”setIndexBuffer<
TData>(buffer,indexFormat,offset?,size?):void
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:105
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:86
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:184
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:186
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:97
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:176
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