GLFW 3.0 Laden von Ressourcen mit OpenGL

8

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?

    
Behemyth 22.07.2013, 03:07
quelle

1 Antwort

16

Verwenden Sie den Parameter share für glfwCreateWindow() :

%Vor%     
genpfault 22.07.2013, 16:03
quelle

Tags und Links

yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '347867',
    'url' => 'glfw-3-0-resource-loading-with-opengl',
];

$_COOKIE = [
    'advanced-frontend' => '081f3eacaf74c42cb8c0d261e03080e4',
    '_csrf-frontend' => '7461544af847689cb3cf3869214dcf660e193f418f6baa39cc066ab136366725a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"2sS7uXRGcR0qCEy5O1-sA3yIeSfl_bIi";}',
];

$_SESSION = [
    '__flash' => [],
];