GPUTextureView

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

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

GPUTextureViewWebGPU API中的一个接口,它代表对特定GPUTexture定义的纹理资源子集的视图。

GPUTextureView 对象实例是使用GPUTexture.createView() 方法创建的。

实例属性

label 实验性

一个字符串,提供一个标签,该标签可用于标识该对象,例如在GPUError 消息或控制台警告中。

示例

在 WebGPU 示例Cubemap 演示中,您将看到多个关于如何使用GPUTextureView(由GPUTexture.createView() 调用创建)的示例,既作为GPUDevice.createBindGroup() 调用中的resource,也作为GPUCommandEncoder.beginRenderPass() 描述符的depthStencilAttachment 对象中提供的view

js
const uniformBindGroup = device.createBindGroup({
  layout: pipeline.getBindGroupLayout(0),
  entries: [
    {
      binding: 0,
      resource: {
        buffer: uniformBuffer,
        offset: 0,
        size: uniformBufferSize,
      },
    },
    {
      binding: 1,
      resource: sampler,
    },
    {
      binding: 2,
      resource: cubemapTexture.createView({
        dimension: "cube",
      }),
    },
  ],
});

const renderPassDescriptor: GPURenderPassDescriptor = {
  colorAttachments: [
    {
      view: undefined, // Assigned later
      loadOp: "clear",
      storeOp: "store",
    },
  ],
  depthStencilAttachment: {
    view: depthTexture.createView(),
    depthClearValue: 1.0,
    depthLoadOp: "clear",
    depthStoreOp: "store",
  },
};

// ...

const commandEncoder = device.createCommandEncoder();
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);

// ...

规范

规范
WebGPU
# gputextureview

浏览器兼容性

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

另请参阅