我正在主线程中初始化我的OpenGL上下文(SDL / GLEW)。但渲染是在不同的线程中完成的(例如SDL_GL_SwapWindow
或glDrawElements
)。
问题是,如果我拨打SDL_GL_SwapWindow
,没有任何反应。我试图在每次交换后简单地改变清晰的颜色,但没有任何反应。
void render(){
// Rendering...
}
int main(){
// Initialization...
thread rendering(render);
}
这可能是个问题吗?
答案 0 :(得分:2)
不按预期工作。 OpenGL Context是线程本地的。无论您创建上下文的哪个线程,都必须在其中进行实际的OpenGL渲染调用。