python - 我可以在 headless 服务器上运行 GLU (OpenGL) 吗?

标签 python opengl graphics triangulation glu

我们正在尝试在 headless GNU/linux 服务器上使用 GLU 的曲面分割函数。我们想为此使用 PyOpenGL,但问题是它在调用 gluNewTess 时崩溃(段错误)

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

我试图找到一些关于如何在 headless (和虚拟化)机器上初始化 GL 上下文的信息,但没有成功。感谢您提供有关这些主题的任何信息。

最佳答案

最简单的:

Xvfb :5 -screen 0 800x600x24 &
export DISPLAY=:5
glxgears 

代替 glxgears,替换为您的程序,并将“glutInit()”粘贴到您的 Python 代码中以获得基本的 GL 窗口。

更难:

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

最难的:

从 GLU tesselator 中提取内容并将其粘贴到您的项目中(下载 MesaLib 源代码)

关于python - 我可以在 headless 服务器上运行 GLU (OpenGL) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281998/

相关文章:

c++ - 创建类似 OpenGL 的图形库

c - OpenGL 中的光照

java - Java图形中绘制平滑曲线

ios - 如何使用这个复杂的参数方程在 iOS 中绘制曲线

python - 如何在 Python 中使用 twitter API 提取包含特定关键字的推文位置

c++ - 不正确的 OpenGL 缠绕

c - OpenGL:在图像表面绘制的污迹

python - Pypi:不允许存储或编辑包信息

python - 在一个 Linux 发行版上构建 Python 包并从另一个发行版运行它们

python - 对 linux 服务器的 ajax 请求有时会返回答案,有时会返回错误 500