Detail kurzu

OpenGL v C++/Delphi - úvod do Windows API a práca s programom

IT LEARNING SLOVAKIA, s.r.o.

Popis kurzu

Grafická karta (GPU) v počítači nemá svoju vlastnú špeciálnu inštrukčnú sadu akú majú procesory (CPU). Príkazy, ktoré má GPU vykonať sa ukladajú do operačnej pamäte, odkiaľ si ich príslušné obvody GPU čítajú a vykonávajú. Aplikácie nemôžu priamo posielať príkazy GPU, pretože im to chránený režim operačných systémov nedovoľuje. Jednou z možností je naprogramovanie vlastného ovládača zariadenia, ktorý má prístup k hardvéru a je schopný posielať GPU príkazy, ktorým rozumie. Tento priamy prístup je však veľmi neefektívny, nakoľko musíme dokonale poznať svoju grafickú kartu – výrobcu, typ, počet multiprocesorov, procesorov, rýchlosti, veľkosť pamäte, podporované technológie a v neposlednom rade aj formát inštrukcií, ktorému daná grafická karta rozumie. Oveľa výhodnejšie je použiť niektorú z moderných technológií, ktoré za nás vyriešia celú komunikáciu s hardvérom GPU. Existujú dve najznámejšie a najpoužívanejšie technológie (nielen v hernom priemysle, ale aj v CAD systémoch) a tými sú OpenGL a DirectX. V tomto kurze sa budeme venovať práve OpenGL. Oproti DirectX má OpenGL nasledujúce výhody: Jednoduchá procedurálna syntax (DirectX je oproti tomu implementovaný ako COM rozhranie), výslovne nepotrebujeme žiaden SDK a vystačíme si s jednou systémovou knižnicou pre OpenGL, ľahká práca aj v nižších (alebo jazykov bez podpory OOP) jazykoch ako sú Visual Basic, C a dokonca aj Assembler!, OpenGL dlho prevahu nad DirectX z hľadiska možností svojich možností. To znamená, že z GPU využilo viac možností. To bol napr. hlavný dôvod, prečo ID Software dlho programovalo svoje hry práve v OpenGL.

Obsah kurzu

Úvod do programovania vo Windows API

·             Syntax technológie Windows API

·             Volacie konvencie

·             Volanie funkcií a procedúr

·             Princíp činnosti aplikácií, procesov a vlákien

·             Slučka spracovávania správ pre aplikácie OpenGL

 

Úvod do OpenGL

·             Obecná syntax

·             Konštanty

·             Volanie funkcií OpenGL v iných jazykoch

·             Prístup k OpenGL bez SDK

 

Prvá aplikácia s OpenGL

·             Vytvorenie prázdneho okna vo Windows API

·             Návrh slučky správ

·             Správy WM_PAINT  a WM_ERASEBKGND

·             Dvojitý buffer GDI

·             Vytvorenie a získanie kontextu zariadenia (DC)

·             Nastavenie formátu obrazových bodov pre DC

·             Fullscreen režim a zmena rozlíšenia obrazovky

·             Návrat z režimu Fullscreen

·             Štýl okna

·             Vytvorenie kontextu renderovania (RC) pre OpenGL

·             Prepojenie DC s RC

·             Vytvorenie prázdnej scény

·             Matice projekcie a modelu

·             Nastavenie pohľadu a perspektívy

 

 

 

Tvorba objektov

·             Tvorba čiar

·             Tvorba polygónov

·             Tvorba štvoruholníkov

·             Nastavenie farieb

·             Tvorba farebných prechodov na objektoch

·             Hĺbkový buffer

·             Tvorba zložitejších objektov – kocka, valec

 

3D Transformácie

·             Matice transformácií

·             Posunutie

·             Škálovanie

·             Rotácia

·             Transformácie scény

 

Tvorba interaktívnych scén

·             Interakcia s klávesnicou

·             Udalosti myši

·             Pohyb v scéne

 

Tvorba zložitejších modelov

·             Textúry

·             Prehodenie kanálov R a B v bitových mapách

·             Vytvorenie poľa textúr

·             Aplikácia 2D textúr na polygón

·             Rastrové a outline písma

 

Nasvietenie

·             Ambietné svetlo

·             Difúzne svetlo

·             Normálové vektory polygónov

·             Transformácie difúzneho svetla

 

 

Hodnotenie




Organizátor