java - JOGL:从 GLJPanel 获取 GL()?

标签 java opengl jogl

我正在尝试将应用程序从 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/

相关文章:

使用 Ocaml 的 OpenGL + GLUT

java - 在 opengl 2 中渲染 10000 多个动态立方体

java - jogl java.lang.UnsatisfiedLinkError : with gluegen-rt. dll

java - 方法引用 - "Reference to a static method"和 "Reference to an instance method of an arbitrary object of a particular type"之间的差异

java - 使用@MappedSuperclass 而不是@Entity 可以不使用JPA 在数据库中创建表吗?

Java - 将字符串映射到带有枚举的接口(interface)的实现?

java - 根据复选框的不同布局

C++ OpenGL 大型网格缺少三角形

c++ - OpenGL - 调用不同颜色的方形函数

java - VAO 不使用着色器渲染颜色