我正在使用GLFW来创建我的窗口,而我正在使用OpenGL 4.5。
创建第二个OpenGL上下文与主线程进行多线程共享的第二个OpenGL上下文(如果可能)是什么(如果可能的话)(即每个线程一个上下文)。
答案 0 :(得分:1)
我不知道这种方法是否足够OS操作系统,但在我的应用程序中,我只是使用另一个隐藏窗口:
//'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上)可能是一个需要处理的噩梦,因此确保完全需要它是至关重要的。