Używanie obiektów synchronizacji ogrodzenia w OpenGL

Próbuję szukać scenariuszy, w których obiekty synchronizacji mogą być używane w OpenGL. Rozumiem, że obiekt synchronizacji po umieszczeniu w strumieniu poleceń GL (użycie glFenceSync ()) zostanie zasygnalizowany po wykonaniu i wykonaniu wszystkich poleceń GL. Jeśli obiekty synchronizacji są prymitywami synchronizacji, dlaczego nie możemy RĘCZNIE sygnalizować ich? Gdzie dokładnie ta funkcja może pomóc programistom GL?

Czy następujący scenariusz jest poprawny?

Thread 1 :

Load model
Draw()
glFenceSync()

Thread 2 :

glWaitSync();
ReadPixels
Use data for subsequent operation.

Czy to oznacza, że ​​nie mogę uruchomić wątku 2, chyba że glFenceSync () jest wywoływany w wątku 1?

questionAnswers(1)

yourAnswerToTheQuestion