OpenGL bindTexture Problem
Verfasst: 24. Oktober 2007 19:42
Habe das Problem, dass bindTexture bzw. glTexImage2D bei großen Texturen etwas länger dauern und somit meinen Maus/Tastaturinput in dieser Zeit blockieren.
Da es sich um ein Bildbetrachtungsprogramm handelt werden die Texturen natürlich immer dynamisch geladen (je nachdem in welchen Ordner man sich befindet) und können nicht zu Beginn geladen werden.
Ich habe zwar das Laden der Bilder schon in einen seperaten Thread ausgelagert, allerdings kann ich eben diesen bindTexture Befehl nicht weiter auslagern. Gibt es jetzt irgendeine Möglichkeit Texturen komplett, also inkl. des bindTexture Befehls in einen seperaten Thread zu verfrachten? Habe schon einiges probiert - dachte zuerst ich erstelle einfach ein zweites QGLWidget und share dieses mit meinem Hauptwidget. In meinen Threads in denen die Bilder geladen werden benutze ich einfach das zweite Widget -> mit dem Ergebniss, dass ich immer folgende Meldung bekomme: "QGLContext::makeCurrent() : wglMakeCurrent failed". Was ich allerdings nicht ganz verstehe, denn es sind ja eigentlich zwei seperate Rendering Contexte - oder nicht?
Da es sich um ein Bildbetrachtungsprogramm handelt werden die Texturen natürlich immer dynamisch geladen (je nachdem in welchen Ordner man sich befindet) und können nicht zu Beginn geladen werden.
Ich habe zwar das Laden der Bilder schon in einen seperaten Thread ausgelagert, allerdings kann ich eben diesen bindTexture Befehl nicht weiter auslagern. Gibt es jetzt irgendeine Möglichkeit Texturen komplett, also inkl. des bindTexture Befehls in einen seperaten Thread zu verfrachten? Habe schon einiges probiert - dachte zuerst ich erstelle einfach ein zweites QGLWidget und share dieses mit meinem Hauptwidget. In meinen Threads in denen die Bilder geladen werden benutze ich einfach das zweite Widget -> mit dem Ergebniss, dass ich immer folgende Meldung bekomme: "QGLContext::makeCurrent() : wglMakeCurrent failed". Was ich allerdings nicht ganz verstehe, denn es sind ja eigentlich zwei seperate Rendering Contexte - oder nicht?