GPUCanvasContext:getCurrentTexture() 方法

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表格

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,并且仅在部分或全部 支持的浏览器 中可用。

getCurrentTexture() 方法是 GPUCanvasContext 接口的方法,它返回由画布上下文合成到文档的下一个 GPUTexture

语法

js
getCurrentTexture()

参数

无。

返回值

一个 GPUTexture 对象实例。

异常

InvalidStateError DOMException

如果在配置画布上下文之前(即在调用 GPUCanvasContext.configure() 之前)调用 getCurrentTexture(),则会抛出此异常。

示例

js
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");

context.configure({
  device: device,
  format: navigator.gpu.getPreferredCanvasFormat(),
  alphaMode: "premultiplied",
});

//...
// Later on
const commandEncoder = device.createCommandEncoder();

const renderPassDescriptor = {
  colorAttachments: [
    {
      clearValue: [0, 0, 0, 1], // Opaque black
      loadOp: "clear",
      storeOp: "store",
      view: context.getCurrentTexture().createView(),
    },
  ],
};

const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);

规范

规范
WebGPU
# dom-gpucanvascontext-getcurrenttexture

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅