GPUTexture: usage 屬性
注意:此功能在 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 |
瀏覽器相容性
載入中…