Sto cercando di individuare gli scenari in cui è possibile utilizzare gli oggetti di sincronizzazione in OpenGL. La mia comprensione è che un oggetto di sincronizzazione, una volta messo in GL command stream (usando glFenceSync()), verrà segnalato dopo che tutti i comandi GL sono stati eseguiti e realizzati. Se gli oggetti di sincronizzazione sono primitive di sincronizzazione, perché non possiamo segnalarli MANUALMENTE? Dove esattamente questa funzionalità può aiutare il programmatore GL?Utilizzo di oggetti di sincronizzazione fence in OpenGL
Il seguente scenario è corretto?
Thread 1 :
Load model
Draw()
glFenceSync()
Thread 2 :
glWaitSync();
ReadPixels
Use data for subsequent operation.
Ciò significa che non è possibile avviare il thread 2 a meno che glFenceSync() non venga chiamato in Thread 1?
"* Questo significa che non è possibile avviare il thread 2 a meno che glFenceSync() non venga chiamato in Thread 1? *" Bene, finché non si chiama 'glFenceSync', l'oggetto sync non esiste ancora. Non puoi aspettare qualcosa che non esiste. –