IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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é 18x (10.51 MB)
Aplikácia je vrátane zdrojových kódov v jazyku C++

 

Všetky články v sekcii
OpenGL - 3D grafika v C ++
Preskočiť článok
(neodporúčame)
3D grafika v OpenGL a C ++ - Vytvorenie okna
Článok pre vás napísal Richard Bleier
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Aktivity