So che condividere un singolo contesto tra i thread è una cattiva notizia. So che posso creare e utilizzare in modo sicuro un contesto con un framebuffer offscreen su un thread secondario quando nulla sta accadendo con GL sul thread principale.OpenGL è thread-safe per più thread con contesti distinti?
Non sono ancora riuscito a trovare una risposta definitiva alla domanda se posso creare due contesti in modo sicuro su due thread diversi (ad esempio, un disegno del thread principale sullo schermo e un thread secondario che esegue il lavoro di disegno fuori campo) e fare in modo che entrambi facciano contemporaneamente chiamate alla funzione GL.
In altre parole, fino a quando i contesti sono diversi, i due thread possono "condividere" l'API C e quindi la GPU? O è intrinsecamente qualcosa che è irremovibile? Oppure questa implementazione è specifica?
Chiedere specificatamente per OpenGL ES su iOS, ma probabilmente è una domanda GL generale.
Correlato: [Devo utilizzare più thread nel mio gioco OpenGL ES?] (Http://stackoverflow.com/questions/5246189/should-i-use-multiple-threads-within-my-opengl-es-game) – bobobobo