GPUTextureView

可用性有限

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

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

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

GPUTextureView 接口是 WebGPU API 的一部分,它表示对由特定 GPUTexture 定义的纹理资源子集的视图。

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

实例属性

label

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

示例

在 WebGPU 示例的 立方体贴图演示 中,您将看到 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

浏览器兼容性

另见