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

瀏覽器相容性

另見