Javascript 与iframe和/或窗口弹出窗口共享WebGL上下文
我们正在尝试构建一个允许嵌入内容(DOM或iFrame)被“浮动”的应用程序,即通过Javascript 与iframe和/或窗口弹出窗口共享WebGL上下文,javascript,iframe,electron,webgl,Javascript,Iframe,Electron,Webgl,我们正在尝试构建一个允许嵌入内容(DOM或iFrame)被“浮动”的应用程序,即通过window.open()移动到一个单独的窗口 两个窗口之间是否可以共享WebGL渲染上下文?这将防止新窗口必须重建GPU上下文:纹理上载、着色器编译等 附加问题:iFrame之间可以共享上下文吗 双重好处:对于电子场景,上下文可以在渲染进程之间共享吗 两个窗口之间是否可以共享WebGL渲染上下文?这将防止新窗口必须重建GPU上下文:纹理上载、着色器编译等 WebGL上下文只能与单个画布一起使用,因此当您可以在另
window.open()
移动到一个单独的窗口
您可能可以使用
OffscreenCanvas
并通过渲染到iFrame中的多个画布。对于1和2,您确定这些断言吗?为什么一个窗口无法从另一个窗口访问上下文?WebGLRenderingContext接口是否有一个特殊的“同源但我们仍然不允许访问该对象”的特殊规则?似乎没有:你甚至可以将渲染器从一个窗口移到另一个窗口:也许我误解了问题。您不能在画布上共享上下文,因此,您可以跨窗口或iFrame使用上下文这一事实基本上是不相关的。你最终还是会使用我建议的解决方案,渲染到一个画布,绘制图像到其他画布。他们没有谈论另一块画布。不,我的小提琴使用了一个HTMLCanvasElement和一个webgl context.Ok。更新了答案。