2017-04-19 1 views
0

Je suis nouveau sur OpenGL et SDL et j'ai quelques problèmes avec un programme de base que j'ai écrit. Je l'ai réduit et il semble que le problème soit un conflit entre la fonction SDL_CreateRenderer et la façon dont SDL gère OpenGL.SDL_Renderer opengl conflict

Fondamentalement, le programme est un jeu simple, dessiné avec OpenGL, et le problème a augmenté avec moi créant un menu. Puisque la fenêtre de jeu a été créée avec le drapeau "SDL_WINDOW_OPENGL", j'ai créé une autre fenêtre pour le menu. Chaque fois que j'ai besoin de basculer entre le jeu et le menu, je cache et montre quelle fenêtre j'ai besoin. Pour dessiner sur la fenêtre de menu bien que j'ai besoin de créer un moteur de rendu mais après cela, si j'essaie de revenir à la fenêtre OpenGL tout se bloque de façon catastrophique (l'ordinateur ralentit, tout ne répond pas ...). Est-ce que quelqu'un peut deviner où le problème pourrait se trouver? Ou quelqu'un peut-il suggérer une meilleure façon de résoudre mon problème de menu de jeu?

+2

Vous devez fournir un [MCVE] (https://stackoverflow.com/help/mcve). – Alden

+0

Ok! J'y travaille! Merci pour la suggestion! –

+0

Changez-vous le contexte GL dans votre fenêtre initiale? Peut-être que le logiciel de rendu le résoudra pour vous, bien que je ne comprenne pas pourquoi vous aviez besoin d'une fenêtre séparée en premier lieu. – keltar

Répondre

0

Ne pas essayer d'OpenGL inter-op et SDL_Renderer: même si vous pouvez garantie que votre plate-forme ne/ne pas mettre en œuvre SDL_Renderer en termes d'OpenGL l'API SDL_Renderer ne dispose d'aucun moyen de bien régler/restauration l'état OpenGL utilisé par SDL_Renderer.