WebGPU:在运行时更改纹理

问题描述

我知道如何使用 queue.writeBuffer 更改矩阵。但是在渲染循环内切换纹理或采样器的正确/推荐方法是什么?还是每个纹理都需要一个管道?

提前谢谢

解决方法

不需要每个纹理的管道。您可以使用不同的 BindGroup,每个具有不同的纹理绑定。

如果要切换的纹理大小和格式相同,也可以绑定一个包含图像的纹理数组,并使用着色器统一选择数组切片。