GPUTextureView

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Das GPUTextureView Interface der WebGPU API stellt eine Ansicht auf einen Teil der von einem bestimmten GPUTexture definierten Texturressourcen dar.

Ein GPUTextureView-Objekt wird mit der Methode GPUTexture.createView() erstellt.

Instanz-Eigenschaften

label Experimentell

Ein String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, beispielsweise in Nachrichten von GPUError oder Konsolenwarnungen.

Beispiele

Im WebGPU Samples Cubemap-Demo sehen Sie mehrere Beispiele dafür, wie GPUTextureViews (erstellt durch Aufrufe von GPUTexture.createView()) verwendet werden, sowohl als resource in einem Aufruf von GPUDevice.createBindGroup(), als auch als bereitgestellte view im depthStencilAttachment-Objekt eines Deskriptors von GPUCommandEncoder.beginRenderPass().

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);

// ...

Spezifikationen

Specification
WebGPU
# gputextureview

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch