opengl - 如何使用远程 GPU 进行硬件加速 3D 渲染?

标签 opengl 3d xserver

我知道如何使用 VirtualGL 远程连接到服务器并运行 OpenGL 应用程序。 VirtualGL 允许图形应用程序的 2D 元素通过 SSH 连接从服务器机器传递到客户端机器,但拦截 3D 元素并在服务器机器上渲染它们,然后以流的形式将图像发送到客户端X 服务器。

但我希望能够以这样的方式运行安装在客户端计算机上的图形应用程序,即 2D 元素在本地渲染,而 3D 命令在封装后通过高速网络发送到渲染它们的服务器,然后将图像以流的形式发回。是否存在以这种方式工作的现有解决方案或 VirtualGL 配置?

最佳答案

我认为使用 VirtualGL 是不可能的。 VirtualGL 的工作原理是拦截 GLX 调用,将它们重定向到另一个 Xorg 服务器,使用 GL_ARB_pixel_buffer_object 扩展渲染帧,并通过网络将压缩图像发送到客户端。

VirtualGL 没有解决通过网络发送 GLX 调用的问题。

我试过“间接渲染”,但是有很多问题:

  • 由于安全问题,默认情况下它是禁用的,
  • 性能很糟糕,
  • 它不提供 VirtualGL 所需的 GL_ARB_pixel_buffer_object 扩展。

关于opengl - 如何使用远程 GPU 进行硬件加速 3D 渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672571/

相关文章:

x11 - 使用 LightDM + XMonad 在 NixOS 上进行 DPI 缩放

c++ - NoDecodeDelegateForThisImageFormat 使用 ImageMagick 读取 .png 文件时出错

c++ - 为什么我没有 WGL_ARB_create_context 扩展?

c++ - OpenGL 天空盒不显示

css - SVG 元素的 3d 变换

linux - 如何在 linux 系统上获取可在 .Xresources 配置中使用的有效字体名称?

opengl - FreeGLUT 或 Mesa,我应该使用哪一个?

OpenGL - 用鼠标移动相机

c++ - C++ 3D 游戏的网络基础知识是什么?

linux - X服务器间歇性 'connection refused'