[我们正在尝试构建一个允许嵌入内容(DOM或iFrame)“浮动”的应用,即通过window.open()
移动到单独的窗口。
WebGL渲染上下文可以在两个窗口之间共享吗?这样可以避免新窗口必须重建GPU上下文:纹理上载,着色器编译等。
奖金问题:可以在iframe之间共享上下文吗?
双倍奖励:对于电子场景,可以在渲染进程之间共享上下文吗?
WebGL渲染上下文可以在两个窗口之间共享吗?这样可以避免新窗口必须重建GPU上下文:纹理上载,着色器编译等。
否
奖金问题:可以在iframe之间共享上下文吗?
否
双重奖励:对于电子场景,可以在渲染过程之间共享上下文吗?
否
您可以使用2d画布将WebGL画布绘制为2D画布,因此您可以使用一个画布,在该画布中进行渲染,然后将其复制到iframe。
例如,假设您已经安装了node.js。
git clone https://github.com/mrdoob/three.js
cd three.js
git reset --hard r60
npx servez
然后转到http://localhost:8080/examples/webgl_multiple_windows.html
。在左上角单击create new window
。每个新窗口都是进入同一场景的另一个视图。包括主窗口在内的所有窗口均使用2D画布和drawImage渲染]
[您可能可以使用OffscreenCanvas
,并通过transferToImageBitmap
渲染到多个iframe中的多个画布。
当然,在所有情况下,iframe都必须来自同一域。