【发布时间】:2023-03-08 08:11:01
【问题描述】:
如何在 3D 应用程序运行时异步加载纹理?我所理解的是 OpenGL 上下文不是线程安全的,我应该将它们分开在不同的线程上。
但我的主要问题是选择合适的多线程工具/框架来实际使用 Windows 和 C++ 实现这一点,我听说过很多关于 C++11 的信息,包括其标准库中的线程支持,但有人可以仅列出基本步骤?
最安全的方法是什么?以及如何更新另一个上下文的状态,它注册了在另一个线程上完成的更改?我怀疑glFlush 和glBind*?
【问题讨论】:
-
实际上 OpenGL 和 OpenGL 上下文是线程安全的。您一次只能让一个上下文在多个线程中处于活动状态。
标签: c++ windows visual-c++ opengl c++11