Ho iniziato a entrare nella scena un po 'schiacciante del caricamento delle risorse OpenGL su un thread separato in modo che il thread principale possa continuare a eseguire il rendering di un oggetto. Quando si passa in, ho notato che GLFW rilasciato una versione aggiornata di un mese indietro con gestione del contesto più facile.Caricamento risorse GLFW 3.0 con OpenGL
Tuttavia, con glfwMakeContextCurrent() mi sono stati in grado di rendere questo possibile. Nel thread loading uso questa funzione e dopo il suo completamento aggiungo nuovo modo che il filo principale riceve poi il contesto per ulteriore uso. Questo non mi consente di creare e compilare shader o qualsiasi altra creazione relativa a OpenGL.
aggiornamento:
Cosa deve essere fatto in modo da poter usare GLFW in questa situazione? Poiché GLFW è portatile, mi piacerebbe usare il codice che lo include. Non conosco i passaggi necessari per preparare un thread tenendo presente l'API GLFW.
Come post del blog afferma this, ho bisogno di creare due thread con un contesto OpenGL (non lo stesso contesto; D) e quindi condividere le informazioni. Tuttavia, le istruzioni mostrate sono specifiche della piattaforma. Come posso poi fare uso di GLFW così i passaggi della esempio sono indipendenti dalla piattaforma il più possibile?
non è affatto chiaro quello che stai chiedendo. Riesci a spogliarlo per un esempio concreto? – DarenW
Non si può fare la stessa corrente contesto in due thread separati. –
Speriamo che hanno affrontato tutte le preoccupazioni. – Behemyth