众所周知,OpenGL 驱动程序通常不能容忍[多]线程。
但是,是否必须处理(例如 SDL)的主线程
提出了 GL 上下文?如果一个人产生一个线程,从那时起只有
从那里发送 OpenGL 命令会安全吗?或者它有
仅限于启动 GL 的主线程
语境?
最佳答案
您需要在要使用它的线程上使 OpenGL 上下文成为当前上下文,并且一次只能在一个线程上使上下文成为当前上下文。因此,如果您将其设为当前,则创建一个上下文并从另一个线程使用它就可以了。
对于使用 OpenGL 的多个线程,您需要多个 OpenGL 上下文,每个线程一个。您可以在 OpenGL 上下文之间共享资源。
关于multithreading - OpenGL 和线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4567296/