我尝试将应用从GLCanvas
转换为GLJPanel
。
从getGL()
获取GL对象(GLJPanel
)的最佳方法是什么?
或者,我可以从getNativeSurface()
创建我自己的上下文,但此函数会返回带有null
的{{1}}。
答案 0 :(得分:1)
您可以通过GLAutoDrawable.getGL()中的GLContext.getCurrentGL()或GLEventListener.display(GLAutoDrawable)来安全地获取GL
个实例。如果其中一个方法返回null
或抛出GLException
,则意味着OpenGL上下文在此线程上不是最新的。
请不要将GL
实例存储到字段中,仅在本地使用它,按照我们用户指南的建议,此实例可能随时变为无效,新的GL
实例可能会在下一帧使用。
顺便说一句,而是在our official forum上询问JOGL特有的问题。