Использование заборных объектов синхронизации в OpenGL
Я пытаюсь найти сценарии, в которых объекты синхронизации могут быть использованы в OpenGL. Насколько я понимаю, объект синхронизации, помещенный в поток команд GL (с использованием glFenceSync ()), будет сигнализироваться после того, как все команды GL выполнены и реализованы. Если объекты синхронизации являются примитивами синхронизации, почему мы не можем ВНИМАТЕЛЬНО их сигнализировать? Где именно этот функционал может помочь программисту GL?
Является ли следующий сценарий правильным?
Thread 1 :
Load model
Draw()
glFenceSync()
Thread 2 :
glWaitSync();
ReadPixels
Use data for subsequent operation.
Означает ли это, что я не могу запустить поток 2, если glFenceSync () не вызван в потоке 1?