我正在尝试将应用程序从GLCanvas
转换为GLJPanel
。
从getGL()
获取GL对象(GLJPanel
)的最佳方法是什么?
另外,我可以从getNativeSurface()
创建自己的上下文,但是此函数将null
与GLJPanel
一起返回。
最佳答案
您可以通过在GLAutoDrawable.getGL()中调用GLContext.getCurrentGL()或GLEventListener.display(GLAutoDrawable)来安全地获取GL
实例。如果这些方法之一返回null
或抛出GLException
,则表示OpenGL上下文不在此线程上。
请不要将GL
实例存储到字段中,只能在本地使用它,请遵循我们的用户指南的建议,该实例随时可能变为无效,下一帧可能会使用新的GL
实例。
顺便说一句,而是在our official forum上询问JOGL特有的问题。