簡體   English   中英

LWJGL:在線程之間傳遞OpenGL上下文

[英]LWJGL: pass OpenGL context between threads

我的程序中運行兩個線程。 當我嘗試在不是我主線程的線程中使用OpenGL函數時,它將引發IllegalStateException:當前線程中沒有OpenGL上下文。 所以我的問題是,如何將上下文從主線程傳遞到另一個線程? 我正在使用LWJGL 3。

我想我已經解決了,但是我不是100%地確定這是最好的方法。 您必須調用GLFW.glfwMakeContextCurrent(MemoryUtil.NULL);。 在您要離開的線程中,然后調用GLFW.glfwMakeContextCurrent(window); GLContext.createFromCurrent(); 從您要切換到的線程。

看一下這個例子 它使用一個Drawable ,可以在兩個Java線程中使用。 我不太確定它是否仍然有效,因為很多此類與LWJGL 2相關聯。我將盡快對其進行測試,並讓您知道這種方法或您的方法是否更有效(將創建一個微小的微基准測試:) 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM