我正在尝试将应用程序从 GLCanvas
转换为 GLJPanel
。
从 GLJPanel
获取 GL 对象 (getGL()
) 的最佳方法是什么?
或者,我可以从 getNativeSurface()
创建自己的上下文,但此函数使用 GLJPanel
返回 null
。
最佳答案
您可以通过调用GLAutoDrawable.getGL()安全地获取GL
实例或GLContext.getCurrentGL()在 GLEventListener.display(GLAutoDrawable) 。如果这些方法之一返回 null
或抛出 GLException
,则意味着该线程上的 OpenGL 上下文不是当前的。
请不要将GL
实例存储到字段中,仅在本地使用它,遵循我们用户指南的建议,该实例随时可能失效,新的GL
实例可能会在下一帧使用。
顺便说一句,请在 our official forum 上询问有关 JOGL 的特定问题.
关于java - JOGL:从 GLJPanel 获取 GL()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50125324/