gpt4 book ai didi

c++ - 远程机器上的 OpenGL (v >=3) 应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:22:04 25 4
gpt4 key购买 nike

有没有办法在远程机器上启动 OpenGL >= 3 的应用程序?在 Linux 上运行的本地和远程计算机。

更准确地说,我有以下问题:

我有一个应用程序,它使用 Qt 进行 GUI 内容,使用 OpenGL 进行 3D 渲染。我想在多台远程计算机上启动此应用程序,因为该程序会执行一些非常耗时的计算。

因此,我创建了一个不弹出窗口的程序版本。我使用 QGuiApplication、QOffscreenSurface 和一个帧缓冲区对象作为渲染目标。

但是:当我在远程机器上启动应用程序时 (ssh -Y remotemachine01 myapp) 我只有 OpenGL 版本 2.1.2。当我在本地启动应用程序时(在同一台机器上,我有 opengl 4.4)。我想 X 转发是问题所在。

所以我需要一种方法来避免 X 转发。

最佳答案

抱歉,目前没有干净的解决方案。

GLX(X11 的 OpenGL 扩展,用于转发内容)仅在 OpenGL-2.1 之前指定,因此您无法转发 OpenGL-3 上下文。这实际上是一种荒谬的情况,因为“OpenGL-3 方式”比老式的 OpenGL-2.1 和更早版本更适合间接渲染。 Khronos 确实需要齐心协力并指定 GLX-3。

您最好的选择是退回到远程端的软件渲染器和某种形式的 X 压缩。或者使用由 GPU X11 服务器支持的 Xpra;然而,这一次只适用于一个用户。

在不久的将来,即将推出的 Linux 图形驱动程序模型将允许多个用户共享图形资源来执行远程 GPU 渲染。但我们还没有做到这一点。

关于c++ - 远程机器上的 OpenGL (v >=3) 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24650045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com