使用iframe和/或窗口弹出窗口共享WebGL上下文

问题描述 投票:0回答:1

[我们正在尝试构建一个允许嵌入内容(DOM或iFrame)“浮动”的应用,即通过window.open()移动到单独的窗口。

  1. WebGL渲染上下文可以在两个窗口之间共享吗?这样可以避免新窗口必须重建GPU上下文:纹理上载,着色器编译等。

  2. 奖金问题:可以在iframe之间共享上下文吗?

  3. 双倍奖励:对于电子场景,可以在渲染进程之间共享上下文吗?

javascript iframe electron webgl
1个回答
0
投票

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都必须来自同一域。

© www.soinside.com 2019 - 2024. All rights reserved.