我正在尝试寻找可以在 OpenGL 中使用同步对象的场景。我的理解是,一旦将同步对象放入 GL 命令流(使用 glFenceSync() ),将在执行并实现所有 GL 命令后发出信号。如果同步对象是同步原语,为什么我们不能手动向它们发出信号?这个功能究竟在哪里可以帮助 GL 程序员?
以下情况是否正确?
Thread 1 :
Load model
Draw()
glFenceSync()
Thread 2 :
glWaitSync();
ReadPixels
Use data for subsequent operation.
这是否意味着除非在线程 1 中调用 glFenceSync(),否则我无法启动线程 2?