For AI agents: a documentation index is available at /llms.txt. Markdown versions of all pages
are available by appending .md to any URL.
Interface GPURenderBundleEncoder
interface GPURenderBundleEncoder {
label: string;
draw(
vertexCount: number,
instanceCount?: number,
firstVertex?: number,
firstInstance?: number,
): void;
drawIndexed(
indexCount: number,
instanceCount?: number,
firstIndex?: number,
baseVertex?: number,
firstInstance?: number,
): void;
drawIndexedIndirect(
indirectBuffer: GPUBuffer,
indirectOffset: number,
): void;
drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void;
finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle;
insertDebugMarker(markerLabel: string): void;
popDebugGroup(): void;
pushDebugGroup(groupLabel: string): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsets?: number[],
): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsetsData: Uint32Array<ArrayBufferLike>,
dynamicOffsetsDataStart: number,
dynamicOffsetsDataLength: number,
): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsets?: Iterable<number, any, any>,
): void;
setIndexBuffer(
buffer: GPUBuffer,
indexFormat: GPUIndexFormat,
offset?: number,
size?: number,
): void;
setPipeline(pipeline: GPURenderPipeline): void;
setVertexBuffer(
slot: number,
buffer: GPUBuffer | null,
offset?: number,
size?: number,
): void;
}
label: string;
draw(
vertexCount: number,
instanceCount?: number,
firstVertex?: number,
firstInstance?: number,
): void;
drawIndexed(
indexCount: number,
instanceCount?: number,
firstIndex?: number,
baseVertex?: number,
firstInstance?: number,
): void;
drawIndexedIndirect(
indirectBuffer: GPUBuffer,
indirectOffset: number,
): void;
drawIndirect(indirectBuffer: GPUBuffer, indirectOffset: number): void;
finish(descriptor?: GPURenderBundleDescriptor): GPURenderBundle;
insertDebugMarker(markerLabel: string): void;
popDebugGroup(): void;
pushDebugGroup(groupLabel: string): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsets?: number[],
): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsetsData: Uint32Array<ArrayBufferLike>,
dynamicOffsetsDataStart: number,
dynamicOffsetsDataLength: number,
): void;
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsets?: Iterable<number, any, any>,
): void;
setIndexBuffer(
buffer: GPUBuffer,
indexFormat: GPUIndexFormat,
offset?: number,
size?: number,
): void;
setPipeline(pipeline: GPURenderPipeline): void;
setVertexBuffer(
slot: number,
buffer: GPUBuffer | null,
offset?: number,
size?: number,
): void;
}
Hierarchy (View Summary)
- GPUBindingCommandsMixin
- GPUDebugCommandsMixin
- GPUObjectBase
- GPURenderCommandsMixin
- GPURenderBundleEncoder
Methods
draw
drawIndexed
drawIndexedIndirect
drawIndirect
finish
-
The
finish()method of the GPURenderBundleEncoder interface completes recording of the current render bundle command sequence, returning a GPURenderBundle object that can be passed into a GPURenderPassEncoder.executeBundles() call to execute those commands in a specific render pass.Parameters
Optionaldescriptor: GPURenderBundleDescriptor
Returns GPURenderBundle
insertDebugMarker
popDebugGroup
-
Returns void
pushDebugGroup
setBindGroup
-
Parameters
- index: number
- bindGroup: GPUBindGroup | null
OptionaldynamicOffsets: number[]
Returns void
-
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsetsData: Uint32Array<ArrayBufferLike>,
dynamicOffsetsDataStart: number,
dynamicOffsetsDataLength: number,
): voidParameters
- index: number
- bindGroup: GPUBindGroup | null
- dynamicOffsetsData: Uint32Array<ArrayBufferLike>
- dynamicOffsetsDataStart: number
- dynamicOffsetsDataLength: number
Returns void
-
setBindGroup(
index: number,
bindGroup: GPUBindGroup | null,
dynamicOffsets?: Iterable<number, any, any>,
): voidParameters
- index: number
- bindGroup: GPUBindGroup | null
OptionaldynamicOffsets: Iterable<number, any, any>
Returns void
setIndexBuffer
-
setIndexBuffer(
buffer: GPUBuffer,
indexFormat: GPUIndexFormat,
offset?: number,
size?: number,
): voidParameters
- buffer: GPUBuffer
- indexFormat: GPUIndexFormat
Optionaloffset: numberOptionalsize: number
Returns void
setPipeline
setVertexBuffer
-
Parameters
- slot: number
- buffer: GPUBuffer | null
Optionaloffset: numberOptionalsize: number
Returns void
The
GPURenderBundleEncoderinterface of the WebGPU API is used to pre-record bundles of commands. Available only in secure contexts.MDN Reference