GPUTexture:usage 属性
usage
是 GPUTexture
接口的只读属性,表示 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 |
浏览器兼容性
BCD 表格仅在浏览器中加载