Skip to content

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.

readonly [$internal]: RenderPassInternals

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


readonly resourceType: "render-pass" | "render-bundle-encoder"

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

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

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

number

number

number

number

void


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

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

number

number

number

number

number

void


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


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


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

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


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


setPipeline(pipeline): void

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

Sets the current TgpuRenderPipeline for subsequent draw calls

TgpuRenderPipeline

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