IIS 7 启动时 glfwInit 失败

glfwInit fails when launch by IIS 7

我正在制作一个从 3d 场景创建图像的应用程序。 我使用 GLFW 和 GLEW 库。 我想调用这个应用程序,因为网络服务。

我的应用程序 运行 当我使用 .exe 文件启动它时很好,但是当它由 IIS7 启动时。它在调用 glCreateShader 时崩溃并且 glfwInit 似乎失败了。

我把.dll路径放在环境变量里

有什么想法吗?

您通常可以在计算机上找到的 OpenGL 实现假定 GPU 可用。在一般网络服务中,如 Web 服务器,运行 处于无法访问 GPU 的环境配置中。因此 OpenGL 也不可用。

此外,出于安全原因,所有处理 UI 元素(如 Window 和设备上下文)创建的 API 函数也被禁用。

更新:

您可以放弃使用 GLFW 并使用 OSMesa 创建一个纯屏幕外、无窗口的 OpenGL 上下文,它使用仅 CPU 的实现进行光栅化。 OSMesa 必须定制构建并融入您的程序中,这样做时它将无法(毫不费力地)退回到 GPU 加速的 OpenGL 实现。