如何将OpenGL上下文放入我当前的线程中,找不到OpenGL上下文

如何将OpenGL上下文放入我当前的线程中,找不到OpenGL上下文,第1张

如何将OpenGL上下文放入我当前的线程中,找不到OpenGL上下文

首先,要了解实际的问题:当调用线程中当前存在OpenGL上下文时,才可以发出OpenGL调用。OpenGL使用线程本地存储来跟踪任何线程的当前上下文。您创建的LWJGL
2
Display的OpenGL上下文将在名为Display.create()的线程中处于当前状态,该线程可能在主线程调用的未公开DisplayManager类中的某个位置。另一方面,AWT(和Swing处于这种程度)使用单独的专用线程来处理窗口消息事件,例如单击按钮,并将使用该线程调用事件回调。并且LWJGL
Display的OpenGL上下文在该AWT事件线程中不是当前的。

我的建议:创建一个渲染命令队列(可能是java.lang.Runnable的实例),该队列将被轮询,并且所包含的渲染命令由当前LWJGL Display
OpenGL上下文的线程处理,并让您的AWT回调将渲染命令发送到那个队列。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5083134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存