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 |
浏览器兼容性
加载中…