我可以在本地Wamp服务器上使用OpenGL吗?

我的项目由一个网站组成,在这个网站上,用户输入一个音乐XML文件,然后收到一个视频,这个视频是由OpenGL提供的。(类似于合成) 基于该XML文件。我正在使用python来解析XML文件,并获得所有有用的信息。有了这些信息,我使用PyOpenGL和glut来创建动画,并使用OpenCV将每一帧保存为视频。

我能够在本地运行该程序,并且它可以工作。现在我试图在Wamp服务器中使用该程序。所以我的问题是,我如何去做这件事?我的计划是用PHP调用该程序。 shell_exec() 但似乎什么都没有发生。我测试过 shell_exec() 在简单的测试文件上使用xvfb,返回一个字符串就可以了。我做了一些研究,发现我可以使用xvfb进行无头服务器渲染。有什么想法可以让我用PyOpenGLGlut来实现吗?另外,是否可以使用PHP的 shell_exec() 或者我应该使用其他东西来调用我的Python程序?

解决方案:

首先要决定你是否需要GPU加速。如果你的目标系统甚至没有GPU,那么试图磨练一个GPU加速的OpenGL上下文创建是没有什么用的。

接下来,你应该接受这样的事实:你将无法再使用GLUT,因为GLUT是以创建屏幕上的窗口为目标而实现的。

如果你可以在没有GPU的情况下使用软件光栅化,你应该考虑一下OSMesa。https:/mesa3d.orgosmesa.html

如果你需要GPU加速,请检查你要运行的GPU。如果是NVidia的,请查看他们关于如何使用EGL创建无头渲染上下文的优秀博客。https:/devblogs.nvidia.comegl-eye-opengl-visualization-without-x-server。

如果是AMD或英特尔GPU,那么理论上EGL应该也能用。然而使用DRM+GBM通常会产生更好的效果。有一个示例项目可以在以下网站找到 https:/github.comedublegl。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

使用HttpClient上传图片到URI

2022-5-11 1:00:09

解决方案

Angular 2重新加载窗口,然后导航到不同的页面。

2022-5-11 1:00:12

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索