C++ e OpenGL - creare una finestra
Imposta l'ambiente di lavoro e visualizza la tua prima finestra
C++ e OpenGL - creare una finestra
Crea la tua prima finestra con GLFW e OpenGL in C++
Compilare GLFW
GLFW è una libreria scritta in C dedicata allo sviluppo in OpenGL che permette di creare il contesto in cui far uso delle API grafiche.
Scarica quindi GLFW dal sito www.glfw.org/download.html nella versione Source package.
Estrai l'archivio zip e crea al suo interno la cartella build
.
Per compilare la libreria ti servirà anche il software CMake quindi scaricalo ed installalo.
Esegui CMake ed inserisci: - su "source code" il path root della cartella GLFW estratta - su "build the binaries" il path alla cartella build creata prima
poi premi il bottone Configure, inserisci i nel primo campo Visual Studio 16 2019 e controlla che sia selezionato il primo radio button Use default native compilers.
Ora clicca su Finish e attendi che CMake esegua le operazioni. Non ti spaventare se colorerà tutte le righe di rosso alla fine della configurazione. A questo punto dovrebbe comparire una cosa di questo tipo:
Quindi procedi cliccando Generate.
Una volta finita l'esecuzione puoi chiudere CMake e troverai il file GLFW.sln
nella cartella build.
Procedi aprendolo con Visual Studio 2019 e compilandolo.
Troverai la libreria compilata glfw3.lib
al percorso build/src/Debug
.
GLAD
GLAD è una libreria aggiornata per gestire le specifiche per i driver delle schede grafiche. In pratica ci evita molto lavoro manuale. Ottenere ciò che ci serve è molto facile collegandosi al sito glad.dav1d.de/ ed compilando i campi così come da immagine.
- Language: C/C++
- Specification: OpenGL
- API:
- gl: Version 3.3 (o superiore)
- gles1: None
- gles2: None
- glsc2: None
- Profile Core
- Options: Generate a loader Tutto il resto lascialo come di default.
Clicca ora su Generate, scarica l'archivio zip ed estrailo.
Al suo interno troverai due cartelle include
e src
.
Copia le cartelle glad
e KHR
dentro include
.
Cartelle Libs e Include
Si creino due cartelle Libs
e Include
in un percorso a piacimento. Al loro interno verranno salvate ed organizzate tutte le librerie di terze parti.
Nella cartella Libs copia il file generato glfw3.lib
.
Nella cartella Include copia le cartelle Copia le cartelle glad
e KHR
che trovi dentro glad/include
.
Linking
Crea ora un nuovo progetto in Visual Studio 2019 scegliendo il linguaggio C++ e il tipo Empty Project. Per prima cosa cambia la configurazione del Debug in x64
Ora premi la freccina in parte a Debugger Windows locale e seleziona la voce Proprietà di debug....
Nella nuova finestra devi modificare alcune voci:
- VC++ Directories > Include Directories
- VC++ Directories > Library Directories
- Linker > Input > Additional Dependencies
Nella prima aggiungi il path alla cartella Includes, nella seconda aggiungi il path alla cartella Libs (cartelle create precedentemente) e nella terza aggiungi glfw3.lib;opengl32.lib;
.
Infine clicca su OK ed il gioco è fatto.
Ti rimane solo da copiare il file glad.c
, che si trova nella cartella scaricata ed estratta glad/src
, all'interno del progetto VS19.
Per controllare che tutto sia andato a buon fine copia/incolla questo codice all'interno di un nuovo file .cpp
e prova a compilarlo.
Se non ottieni errori allora hai impostato tutto correttamente ed eseguendo il codice ti comparirà una finestra di colore nero come questa qui:
Per maggiori dettagli fai pure riferimento a "Learn OpenGL - Graphics Programming" - Joey de Vries.
Author: Fantantonio
Date: 21/04/2022
Categories: guides
Tags: c++ opengl glfw glad visual studio 2019