c ++ - Sådan oprettes en OpenGL-ES renderview i fuldskærm i Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger cocos2d-x til at udvikle et iPhone-spil, og så kom det bare til mit hoved, hvorfor ikke slippe mit spil til pc også? Det eneste problem er, at indstilling af vinduet til fuldskærmstilstand ikke er implementeret endnu. Nu er jeg 'm bare fast med hvordan man opretter et fuldskærmsvindue? Der er nogle vinduesdannelsesfunktioner, der bruges, men jeg er ikke sikker på hvilken og hvordan jeg skal ændre.


Der er funktionen eglCreateWindowSurface, som cocos2d ringer til at oprette et vindue. Jeg er ikke sikker på, hvilken indstilling jeg skal ændre, så den skaber et fuldskærmsvindue. Det ville også være godt, hvis jeg kan implementere en funktion, der skifter mit spil til fuldskærmstilstand og tilbage under kørsel.

Bedste reference


På Windows er det lidt mere kompileret. I det væsentlige skal du:



  • Opret en proxy OpenGL-kontekst for at få adgang til funktionalitet over OpenGL-1.1 gennem udvidelser

  • Indlæs de nødvendige udvidelser for at oprette en OpenGL-ES-kompatibel kontekst

  • Opret den højere version OpenGL kontekst

  • Genindlæs igen filtypen, nu for denne sammenhæng



Heldigvis er alt dette blevet pakket ind i flere brugervenlige biblioteker. Jeg recomment GLFW til oprettelse af Window/Context (det handler også om alle proxy-kontekstspunkter) og GLee eller GLEW for at gøre OpenGL udvidelser til rådighed for koden.


http://www.glfw.org/[2]


http://elf-stone.com/glee.php[3]


http://glew.sourceforge.net/[4]


Disse biblioteker er cross platform, så din applikation/spil selv bruger ikke OS-afhængige funktioner, det vil kompilere ikke kun til Windows, men også Linux, BSD og MacOS X.