GPURenderPassEncoder: setBlendConstant() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

GPURenderPassEncoder 接口的 setBlendConstant() 方法用于设置在使用 "constant""one-minus-constant" 混合因子(在 GPUDevice.createRenderPipeline() 方法的描述符的 blend 属性中设置)时使用的恒定混合颜色和 alpha 值。

语法

js
setBlendConstant(color)

参数

color

一个代表颜色(用于混合)的对象或数组 — rgba 分量表示为介于 0.0 和 1.0 之间的浮点数。

以下是一个对象示例

js
const color = { r: 0.0, g: 0.5, b: 1.0, a: 1.0 };

数组形式如下所示

js
const color = [0.0, 0.5, 1.0, 1.0];

注意: 如果没有调用 setBlendConstant(),则每个渲染通道的混合常量颜色值默认为 (0, 0, 0, 0)

返回值

无 (Undefined)。

示例

js
// …

const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);

passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.setBlendConstant([1.0, 0.0, 0.0, 1.0]);
passEncoder.draw(3);

passEncoder.end();

// …

规范

规范
WebGPU
# dom-gpurenderpassencoder-setblendconstant

浏览器兼容性

另见