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?