【发布时间】:2021-07-24 04:23:46
【问题描述】:
我目前正在编写一个使用 JOGL 绑定的游戏以使用 OpenGL,但我在这方面非常挣扎。
我需要使用我在实现 GLEventListener 的类的 init 方法中收集的 GL2 变量来初始化我的 vaos 和 vbos(针对每个组件)。像这样,
public abstract class Scene implements GLEventListener {
private GL2 gl;
@Override
public void init(GLAutoDrawable drawable) {
gl = drawable.getGL().getGL2();
...
但是当我想使用这个变量时它是空的,因为它出现在方法 init 的调用之前(这对我来说很奇怪)。我还检查了 GLContext.getCurrent() 可能会检索一个 GL 实例,但上下文也是空的。
所以我想知道上下文是在哪里创建的,是什么触发了上面的 init 函数?
也许我可以简单地创建一个布尔值来告知组件何时在我的渲染函数中被初始化,因此可能会调用 GL init 方法。
【问题讨论】:
-
GLEventListener.init(GLAutoDrawable) 是这样做的正确位置,有什么问题?您看过我们在 wiki 中的示例吗?
-
我不知道组件的数量(组件可以在游戏循环期间添加或删除),我无法在 GLEventListener.init(GLAutoDrawable) 中为所有组件分配.无论如何,我会看看 wiki,谢谢。
-
在 jogl wiki 上找到,jogl 示例的链接以色情视频 url 为目标...你能分享你所说的例子吗,这对我有帮助!
-
我们的 wiki 中没有此类内容,您可能会将其与未在我们网站上托管的内容混淆。我建议你看看这个:jogamp.org/wiki/index.php?title=Jogl_Tutorial
标签: java opengl jogl openglcontext