Contexte OpenGL avec plusieurs périphériques (moniteurs)

En OpenGL, je crée implicitement un contexte graphique avec quelque chose comme GLUT lorsque je crée une fenêtre. Supposons que je glisse ma fenêtre sur un moniteur piloté par une autre carte vidéo (par exemple, des graphiques intégrés Intel sur l’un et NVidia sur un autre). Qui rend la fenêtre? C’est-à-dire quel périphérique exécute le pipeline graphique pour chacun des cas ci-dessous.

Le glGetSsortingng(GL_RENDERER) semble toujours retourner l’affichage principal (où la fenêtre GLUT a été créée) même si je glisse complètement la fenêtre dans une fenêtre ou l’autre. (Je suppose que tout est fait par le primaire …) Est-ce que quelqu’un peut m’aider à comprendre cela?

entrer la description de l'image ici

Notez, en utilisant Windows 10, GLUT, OpenGL, mais je pose les questions en général si cela est important.

GL ne sait rien des fenêtres, mais seulement des contextes. GL rend au framebuffer dans le contexte actuel.

Vous pouvez coder un moyen de demander au système d’exploitation où se trouve une fenêtre et d’utiliser deux contextes, et de définir le bon en fonction de la réponse du système d’exploitation.