我可以在无头服务器上运行GLU(OpenGL)吗?

skr*_*rat 11 python opengl graphics triangulation glu

我们试图在无头的GNU/linux服务器上使用GLU的tesselation函数.我们想使用PyOpenGL,但问题是它在调用gluNewTess时出现崩溃(分段错误)

gdb backtrace说它在glGetError中,这让我觉得GLU tesselation需要GL上下文?或者它只是PyOpenGL中的一些复杂性?

我试图找到一些关于如何在无头(和虚拟化)机器上初始化GL上下文的信息,没有运气.有关这些主题的任何信息表示赞赏.

don*_*ght 10

最简单的:

Xvfb :5 -screen 0 800x600x24 &
export DISPLAY=:5
glxgears 
Run Code Online (Sandbox Code Playgroud)

而不是glxgears,替换为您的程序,并将'glutInit()'粘贴到您的python代码中以获得基本的GL窗口.

更难:

重写程序以使用OSMesa库创建GL上下文

最难的:

从GLU tesselator中删除它并将其粘贴到您的项目中(下载MesaLib源代码)


BЈо*_*вић 1

您可以进行离屏渲染。更多相关信息请参见此处

这取决于您的图形卡和操作系统支持的内容。如果你有旧的图形芯片,你可以使用 mesa OS 库(但你得到软件渲染)。如果是较新的,可以使用pbuffers。