我正在尝试将应用程序从GLCanvas转换为GLJPanel

getGL()获取GL对象(GLJPanel)的最佳方法是什么?

另外,我可以从getNativeSurface()创建自己的上下文,但是此函数将nullGLJPanel一起返回。

最佳答案

您可以通过在GLAutoDrawable.getGL()中调用GLContext.getCurrentGL()GLEventListener.display(GLAutoDrawable)来安全地获取GL实例。如果这些方法之一返回null或抛出GLException,则表示OpenGL上下文不在此线程上。

请不要将GL实例存储到字段中,只能在本地使用它,请遵循我们的用户指南的建议,该实例随时可能变为无效,下一帧可能会使用新的GL实例。

顺便说一句,而是在our official forum上询问JOGL特有的问题。

09-26 17:12