OpenGL en fullscreen ou mode fenêtré

 

En fait, il n'y a rien de bien particulier, puisqu'il s'agit d'opérations qui ne sont pas gérées par OpenGL, et donc gérées par Microsoft.

 

Tout ceci est donc étudié dans la section parlant du développement en C sous Windows:

 

Changer de mode graphique/résolution

Pour passer en fullscreen, généralement, il y aura deux étapes:

- Changer le mode graphique avec éventuellement une énumération des résolutions disponibles. On pourra laisser l'utilisateur choisir. Voir le chapitre une Enumération et changement du mode graphique

Dans notre cas, je reste simple, voici un exemple de classe nommée cartegraphique qui change de mode: (par défaut 640*480*16).

Image non trouvée !

Evidemment, ce n'est qu'un exemple qui est donc largement améliorable. Mais il fallait rester le plus simple possible !

 

Création d'une fenêtre en plein écran ou non

- Création d'une fenêtre en fullscreen

Après avoir changé le mode d'affichage, il est nécessaire d'avoir une zone cliente occupant la totalité de l'écran. Là encore, il s'agit de codage purement Windows...

Mais si le fullscreen n'est pas possible ou si l'utilisateur veut travailler en mode fenêtré, nous aurons alors généralement besoin de créer une fenêtre dont la taille dépendra de celle de la zone cliente (Généralement, la zone cliente ayant une taille correspondant aux dimensions que nous aurions utilisé en mode fullscreen - plein écran, càd avec changement de résolution !):

- Création d'une fenêtre en fonction de la taille de la zone cliente.

Image non trouvée !La classe de la fenêtre windows est créée lors de la création de l'instance GLWindows. Cette classe est unique, le nom étant composé de OpenGL - n°instance. Cela résout le risque de destruction de la classe par une instance GLWindows tierce.