TgpuRenderCommands
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:81
The draw-recording surface shared by render passes and render bundle encoders, mirroring GPURenderCommandsMixin.
Draw either by binding TypeGPU pipelines to it (pipeline.with(pass).draw(...)),
or proxy-style via pass.setPipeline(pipeline) followed by pass.draw(...).
Pipeline resolution is lazy: shaders compile on the first draw.
Extended by
Section titled “Extended by”Properties
Section titled “Properties”[$internal]
Section titled “[$internal]”
readonly[$internal]:RenderPassInternals
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:82
resourceType
Section titled “resourceType”
readonlyresourceType:"render-pass"|"render-bundle-encoder"
Defined in: packages/typegpu/src/core/commandEncoder/renderPass.ts:83
Methods
Section titled “Methods”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
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
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
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
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
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
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
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
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