2017-04-19 4 views
0

Ich bin neu zu OpenGL und SDL und ich habe einige Probleme mit einem Basisprogramm, das ich schrieb. Ich habe es eingegrenzt und es scheint, als wäre das Problem ein Konflikt zwischen der SDL_CreateRenderer-Funktion und der Art und Weise, wie SDL OpenGL verwaltet.SDL_Renderer opengl Konflikt

Grundsätzlich ist das Programm ein einfaches Spiel, mit OpenGL gezeichnet, und das Problem ist mit mir ein Menü erstellt. Da das Spielfenster mit dem Flag "SDL_WINDOW_OPENGL" erstellt wurde, habe ich ein weiteres Fenster für das Menü erstellt. Wann immer ich zwischen Spiel und Menü wechseln muss, verstecke und zeige ich einfach das Fenster, das ich brauche. Um auf das Menüfenster zu zeichnen, muss ich zwar einen Renderer erstellen, aber nach dem Versuch, zum OpenGL-Fenster zurückzukehren, stürzt alles katastrophal ab (Computer wird langsamer, alles reagiert nicht mehr ...).

Kann jemand raten, wo das Problem liegen könnte? Oder kann jemand einen besseren Weg vorschlagen, um mein Spielmenü-Problem zu lösen?

+2

Sie müssen ein [MCVE] (https://stackoverflow.com/help/mcve) bereitstellen. – Alden

+0

Ok! Ich arbeite dran! Danke für den Vorschlag! –

+0

Wechseln Sie GL-Kontext zurück zu Ihrem ursprünglichen Fenster? Vielleicht wird Software-Renderer es für Sie lösen, obwohl ich nicht verstehe, warum Sie in erster Linie ein separates Fenster benötigten. – keltar

Antwort

0

Versuchen Sie nicht, inter-op OpenGL und SDL_Renderer: auch wenn Sie könnte Garantie, dass Ihre Plattform hat/nicht SDL_Renderer Umsetzung in Bezug auf die OpenGL die SDL_Renderer API keine Möglichkeit, richtig/muss eingestellt wiederherstellen den OpenGL-Status, den SDL_Renderer verwendet.