Programovanie 3D grafiky v OpenGL

ČO VÁS NAUČÍME

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.

VSTUPNÉ POŽIADAVKY NA KURZ

  • Znalosť niektorého z jazykov C/C++/Delphi/Assembler/Visual Basic/Python
  • Základná orientácia v hardvéri počítača

Rozsah: 16 hodin.

Obsah kurzu:

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

Zaujal Vás tento kurz?


Pre uzavreté firemné školenia Vám radi pripravíme termíny podľa Vašich potrieb, kdekoľvek na Slovensku, priamo vo Vašej firme, alebo v našej učebne LAPIS v Nitre.

Osnovy kurzu môžeme plne prispôsobiť Vašim požiadavkám.

Kontaktujte nás pre viac podrobností nebo si vyžiadajte cenovou ponuku.

Kontaktujte nás:

tel. 037/6513 140,
tel. 0904/406 653

e-mail: lapis@lapis.sk