如何在 Linux 上为多线程创建第二个 OpenGL 上下文



我正在使用GLFW来创建我的窗口,我在OpenGL 4.5上。

创建第二个 OpenGL 上下文以与主线程共享对象以进行多线程(即每个线程一个上下文(的最与操作系统无关的方法是什么?

我不知道这种方法是否足够与操作系统无关,但在我的应用程序中,我只是使用另一个隐藏窗口:

//'pWindow' is the main GL context here...
glfwWindowHint(GLFW_VISIBLE, GL_FALSE);
pGLctx[0] = glfwCreateWindow(sw, sh, "slave0", NULL, pWindow);
glfwMakeContextCurrent(pGLctx[0]); //... to make it current in calling thread...

这对我有用。

我不得不在这里说,一般来说,渲染和多线程(在CPU上(可能是一场噩梦,因此确保人们完全需要它至关重要。

最新更新