Ich habe begonnen, in die etwas überwältigende Szene des Ladens von OpenGL-Ressourcen in einem separaten Thread zu kommen, damit der Haupt-Thread weiterhin ein Objekt rendern kann. Als ich eintrat, bemerkte ich, dass GLFW einen Monat später eine aktualisierte Version mit einfacherem Kontext-Management veröffentlichte.
Mit glfwMakeContextCurrent () konnte ich dies jedoch nicht machen. Im Lade-Thread benutze ich diese Funktion und nach ihrer Fertigstellung füge ich sie wieder hinzu, so dass der Haupt-Thread dann den Kontext zur weiteren Verwendung erhält. Dies erlaubt mir nicht, Shader oder andere OpenGL-ähnliche Kreationen zu erstellen und zu kompilieren.
AKTUALISIERT:
Was muss getan werden, damit ich GLFW in dieser Situation verwenden kann? Da GLFW tragbar ist, würde ich gerne Code verwenden, der es enthält. Ich kenne nicht die notwendigen Schritte, um einen Thread vorzubereiten, der die GLFW-API berücksichtigt.
Wie in diesem Blogbeitrag heißt, muss ich zwei erstellen Threads mit einem OpenGL-Kontext (nicht den gleichen Kontext; D) und teilen Sie dann Informationen. Die angezeigten Anweisungen sind jedoch plattformspezifisch. Wie kann ich dann GLFW verwenden, damit die Schritte im Beispiel so plattformunabhängig wie möglich sind?
Tags und Links multithreading opengl glfw