1. diel - 3D grafika v OpenGL a C ++ - Úvod a inštalácia
Vitajte u prvej lekcie z on-line kurzu OpenGL, v ktorom sa naučíte používať moderné OpenGL 4.6. Preberieme si úplné základy, pokročilé použitie knižnice a na konci si aj naprogramujeme vlastnú hru:)
Čo je to OpenGL
OpenGL je tzv. Grafické API, inak ak rozhranie pre tvorbu aplikácií počítačovej grafiky. Je multiplatformový, takže ho môžeme používať napríklad na Linuxe alebo Windows. Hlavné rolí OpenGL je umožnenie interakcie programu s grafickým procesorom, aby mohol využiť jeho hardwarovo-zrýchleného vykresľovanie a výpočtov. OpenGL stavia na architektúre klient-server, kde klient (program) posiela príkazy servera (grafický procesor) a ten je vykonáva. To je jeden z dôvodov, prečo sa v OpenGL nepoužíva objektovo orientované programovanie. OpenGL je navyše open source, takže je v ňom možné vytvárať súkromné i komerčné aplikácie.
Inštalácia
Bohužiaľ si nemôžeme všetko nainštalovať jedným kliknutím. Všetky komponenty si musíme stiahnuť a prepojiť s programom jednotlivo. V inštalácii budeme používať knižnice pre 64-bitový Windows, avšak iné platformy by nemali byť problém.
Vývojové prostredie
Ako naše vývojové prostredie budeme používať Visual Studio. Odporúčam použiť najnovšie vydanie Visual Studio 19, avšak staršie verzie by mali fungovať bez problémov. Najnovšiu verziu si môžete stiahnuť na https://visualstudio.microsoft.com/cs/. Vo Visual Studio Installer si nezabudnite dostáhnout modul Vývoj desktopových aplikácií pomocou C ++.
Ak už máte nainštalované Visual Studio a potrebný modul, vytvorte si nový projekt a zvoľte si Console App. Konzolu budeme používať pre dočasné debuggovania a až budeme tvoriť našej hru, tak si jej v nastavení vyradíme z kompilácie. Po vytvorení projektu na neho kliknite pravým tlačidlom a vyberte Properties. Tu budeme pripájať OpenGL k nášmu projektu.
Potrebné knižnice a ich stiahnutie
Pre vývoj v OpenGL budeme potrebovať tri hlavné knižnice:
- Glewe - umožňuje používanie správnej verzie OpenGL pre každú implementáciu u sekcie Downloads vyberte Binaries a tú stiahnite
- u sekcie Downloads vyberte Binaries a tú stiahnite
- GLFW - umožňuje jednoducho spracovávať vstupy a vytvárať okná zase budeme sťahovať binárky, pre nás to bude 64-bit Windows binaries
- zase budeme sťahovať binárky, pre nás to bude 64-bit Windows binaries
- GLM - umožňuje používanie pokročilých matematických výpočtov zvoľte si najnovšiu verziu a dole pri kolónky Assets stiahnite .zip archív (nie source code)
- zvoľte si najnovšiu verziu a dole pri kolónky Assets stiahnite .zip archív (nie source code)
ak si nie ste istí, čo stiahnuť, tak dám všetky potrebné archívy dolu k stiahnutiu
Prepojenie knižníc s projektom
Po stiahnutí všetkých potrebných knižníc si pre ne vytvorte zložku, odkiaľ ich budeme importovať. Zvoľte si lokáciu, ktorá je pevná a nezmení sa. Do tejto zložky si rozbaľte všetky tri archívy a premenujte je len na skratky Glew, glfw a GLM.
Teraz sa vráťme na okno Properties, ktoré sme si predtým otvorili. Hore si nastavte Platform na svoju platformu, v našom prípade 64x.
Include directories
Najskôr musíme kompileru pridať cesty ku kódu, ktorý budeme includovat.
V Properties okne choďte na Configuration Properties -> C /
C ++ -> General -> Additional Include Directories, kliknite do
voľného miesta napravo, kliknite na šípku a vyberte <Edit
...>. Tým sa nám otvorí nové okno. Zvoľte prvé tlačidlo
New Line, kliknite na ...
a pridajte nasledujúce
zložky:
C:\...\knihovny\glew\include
C:\...\knihovny\glfw\include
C:\...\knihovny\glm
Následne vyberte OK a v Properties okne Použiť.
Library directories
Ďalej musíme linker ukázať, kde sa nachádza jednotlivé knižnice. Proces bude rovnaký ako v predchádzajúcom kroku, ale nasledujúce zložky budeme pridávať do Configuration Properties -> Linker -> General -> Additional Library Directories a hodnoty budú iba dve:
C:\...\knihovny\glew\lib\Release\x64
(posledná zložka závisí na platforme)C:\...\knihovny\glfw\lib-vc2019
(posledná zložka závisí na použitej verzii Visual Studia)
Aditional Dependencies
Ako posledný krok musíme ešte pridať názvy samotných knižníc, ktoré chceme používať. Proces bude zase veľmi podobný predchádzajúcim krokom. Presuňme sa na Configuration Properties -> Linker -> Input -> Additional Dependencies a po otvorení okna sa tu namiesto tlačidiel nachádza iba textové pole, do ktorého vložíme tieto odriadkovanie hodnoty:
opengl32.lib
glew32.lib
glfw3.lib
glfw3dll.lib
Týmto by sme mali mať všetko potrebné nastavené. Nezabudnite kliknúť na tlačidlo Použiť, nech sa nám všetky zmeny uložia. Teraz zavrieme okno Properties a vrátime sa do Visual Studia.
Pred písaním kódu sa ešte musíme uistiť, že sa kód kompiluje pre
našej platformu. To zistíme tak, že sa pozrieme na druhý riadok lišty
(hore), kde uvidíme dve drop-down menu. Ich hodnoty by mali byť defaultne
nastavené na Debug
a x86
. Druhú hodnotu musíme
nastaviť na tú platformu, na ktorú sme linkovali knižnice. Ak tam bude
nesprávna platforma, tak by sa objavil problém hneď po naincludování OpenGL
súborov, pretože by ich kompiler nenašiel.
Pre overenie správnosti inštalácie si môžete skúsiť naincludovat hlavičkové súbory knižníc:
#include <GL/glew.h> #include <GLFW/glfw3.h> #include <glm/glm.hpp> using namespace glm; int main(void) { }
Ak ste postupovali správne, kód by nemal ukazovať žiadne chyby a mal by sa bez problémov skompilovať.
Týmto sme si úspešne stiahli a otestovali všetky kľúčové moduly. Ak sa vám nepodarilo stiahnuť správne knižnice, sú nižšie k stiahnutiu.
V ďalšej lekcii, 3D grafika v OpenGL a C ++ - Vytvorenie okna , si popíšeme osí a otvoríme si naše prvé okno.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 23x (10.51 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C++