3

简短的问题

有没有办法在 OpenGL 中消除服务器状态?即我想要

GL_nuke();

将 GL 服务器状态恢复为“新”GL 服务器。即,它应该释放所有纹理、VBO、FBO、顶点着色器、片段着色器以及任何可能已上传到 GL 服务器的其他内容。

长问题

我正在使用 LWJGL 用 Ja​​va 开发一个 OpenGL 应用程序。我目前正在使用热代码交换。我宁愿不必:

* have a global list of all objects on the OpenGL server side
* and clear them on every code reload

因此,我希望有一个:

* GL_nuke();

这将释放所有服务器端对象并将所有内容返回到原始环境。

4

1 回答 1

4

不,没有办法使用 OpenGL API 来做到这一点。

您可以销毁并重新创建 OpenGL 上下文。尽管它会很昂贵,并且需要使用特定于平台的 API(WGL、GLX、AGL 等。)

于 2012-05-13T04:43:17.603 回答