A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/en-US/docs/Web/API/GPURenderPassEncoder/setBindGroup below:

GPURenderPassEncoder: setBindGroup() method - Web APIs

GPURenderPassEncoder: setBindGroup() method

Limited availability

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The setBindGroup() method of the GPURenderPassEncoder interface sets the GPUBindGroup to use for subsequent render commands, for a given index.

Syntax
setBindGroup(index, bindGroup)
setBindGroup(index, bindGroup, dynamicOffsets)
setBindGroup(index, bindGroup, dynamicOffsets, dynamicOffsetsStart,
             dynamicOffsetsLength)
Parameters
index

The index to set the bind group at. This matches the n index value of the corresponding @group(n) attribute in the shader code (GPUShaderModule) used in the related pipeline.

bindGroup

The GPUBindGroup to use for subsequent render commands, or null, in which case any previously-set bind group in the given slot is unset.

dynamicOffsets Optional

A value specifying the offset, in bytes, for each entry in bindGroup with hasDynamicOffset: true set (i.e., in the descriptor of the GPUDevice.createBindGroupLayout() call that created the GPUBindGroupLayout object that the bindGroup is based on). This value can be:

If a Uint32Array value is specified for dynamicOffsets, both of the following parameters are also required:

dynamicOffsetsStart

A number specifying the offset, in array elements, into dynamicOffsetsData, where the dynamic offset data begins.

dynamicOffsetsLength

A number specifying the number of dynamic offset values to be read from in dynamicOffsetsData.

Return value

None (Undefined).

Exceptions

For setBindGroup() calls that use a Uint32Array value for dynamicOffsets, the call will throw with a RangeError DOMException if:

Validation

The following criteria must be met when calling setBindGroup(), otherwise a GPUValidationError is generated and the GPURenderPassEncoder becomes invalid:

Examples Set bind group

In the WebGPU Samples Textured Cube example, setBindGroup() is used to bind the uniformBindGroup to index position 0. Check out the example for the full context.

// …

const commandEncoder = device.createCommandEncoder();
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
passEncoder.setPipeline(pipeline);
passEncoder.setBindGroup(0, uniformBindGroup);
passEncoder.setVertexBuffer(0, verticesBuffer);
passEncoder.draw(cubeVertexCount, 1, 0, 0);
passEncoder.end();
device.queue.submit([commandEncoder.finish()]);

// …

Note: Study the other WebGPU Samples for more examples of setBindGroup() usage.

Unset bind group
// Set bind group in slot 0
passEncoder.setBindGroup(0, uniformBindGroup);

// Later, unset bind group in slot 0
passEncoder.setBindGroup(0, null);
Specifications Browser compatibility See also

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4