GPUTexture: usage 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

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

GPUTexture 介面的只讀屬性 usage 是一個 位標誌,表示 GPUTexture 的允許用途。

此屬性透過傳遞給原始 GPUDevice.createTexture() 呼叫的描述符物件中的 usage 屬性進行設定。

表示 GPUTexture 首次建立時設定的原始用途的位標誌。返回的數字是代表不同標誌的十進位制值的總和,如下表所示。

用途標誌 用途描述 十六進位制等效值。 十進位制等效值。
GPUTextureUsage.COPY_SRC 紋理可用作複製操作的源,例如 copyTextureToBuffer() 呼叫中的源引數。 0x01 1
GPUTextureUsage.COPY_DST 紋理可用作複製/寫入操作的目標,例如 copyBufferToTexture() 呼叫中的目標引數。 0x02 2
GPUTextureUsage.RENDER_ATTACHMENT 紋理可用作渲染通道中的顏色或深度/模板附件,例如 beginRenderPass() 呼叫中描述符物件的 view 屬性。 0x10 16
GPUTextureUsage.STORAGE_BINDING 紋理可以繫結在著色器中用作儲存紋理,例如在建立 GPUBindGroup(透過 createBindGroup())的繫結組條目中作為資源,它遵循具有指定儲存紋理繫結佈局的 GPUBindGroupLayout 條目。 0x08 8
GPUTextureUsage.TEXTURE_BINDING 紋理可以繫結在著色器中用作取樣紋理,例如在建立 GPUBindGroup(透過 createBindGroup())的繫結組條目中作為資源,它遵循具有指定紋理繫結佈局的 GPUBindGroupLayout 條目。 0x04 4

示例

js
// …

const depthTexture = device.createTexture({
  size: [canvas.width, canvas.height],
  format: "depth24plus",
  usage: GPUTextureUsage.RENDER_ATTACHMENT,
});

console.log(depthTexture.usage); // 16

規範

規範
WebGPU
# dom-gputexture-usage

瀏覽器相容性

另見