提问人:Adam 提问时间:11/3/2023 最后编辑:Adam 更新时间:11/11/2023 访问量:53
WebGL2 和 WebGPU 之间的 Inrterop
Inrterop between WebGL2 and WebGPU
问:
我的问题很简短: 是否有可能,如果可以,如何读取 WebGPU 在 WebGL2 中创建的纹理或帧缓冲区?
我用谷歌搜索了一下,我唯一发现的就是这个错误:https://bugs.chromium.org/p/chromium/issues/detail?id=1200466,但我不能说我完全理解它,或者文档在哪里。
总体目标是在 WebGPU 中创建一个渲染引擎,将其复制到 WebGL 纹理中,并在为 WebAssembly 编译的 QML 应用程序中使用它。QML尚不支持WebGPU,目前尚不清楚何时会提供支持。
答:
1赞
gman
11/11/2023
#1
webgl 和 webgpu 之间没有特殊的互操作。在 WebGL 中,您可以调用 texImage2D 并向其传递一个 canvas 元素。在 WebGPU 中,您可以调用 copyExternalImageToTexture 并向其传递一个 canvas 元素。在这两种情况下,都可以是 2d 画布、webgl 画布、webgl2 画布、位图画布或 webgpu 画布
评论
1赞
Adam
11/13/2023
你知道吗,这些是否会触发 GPU -> GPU 副本或 GPU ->主内存 -> GPU?
2赞
gman
11/14/2023
无法保证它将采取什么路径。也就是说,浏览器通常希望它运行得更快,因此他们会尽可能将其设置为 gpu->gpu
评论