Welcome  |  Students  |  Experiences  |  Publications  |  GeomForge  |  Links  |  Contact

OpenGL

Prezentácie

Čast 1: Úvod, základné nastavenia - pdf-en

Čast 2: Atribúty vrcholov, spôsoby vykreslovania - pdf-en

Čast 3: Transformácie - pdf-en

Čast 4: Rasterizácia, fragmenty, bufre - pdf-en

Čast 5: Textúry - pdf-en

Čast 6: Shadre, GLSL - pdf-en

Čast 7: Osvetľovanie - pdf-en

Čast 8: GLU, teselácia, fonty - pdf-en

Čast 9: Multi, komprimované a cube textúry - pdf-en

Čast 10: Antialiasnig, hmla, polygon offset - pdf-en

Čast 11: Časticové systémy, picking - pdf-en

Čast 12: OpenGL ES, WebGL - pdf-en


Študentské projekty

Pozor! Projekty sa môžu odovzdávať iba počas skúškového obdobia každý utorok a stredu (+ posledný piatok v skúškovom období) v časoch 10:00-11:30 a 13:00-16:00.
Pozor!!! Pozor!!! Posledný piatkový termín sa presunul na pondelok 16.2.2015
Známka za predmet bude určená na základe ohodnoteneho projektu. V projekte je možnosť použitia externých knižníc, ale základné príkazy OGL a požadovaná funkcionalita musia byť bez použitia ext. knižníc. Použitý môže byt ľubovoľný programovací jazyk, preferovaná platforma je Win32, a projekty možu byt odprezentovane na vlastnych pocitacoch. Nutnou podmienkou pre získanie známky je aj vytvorenie a odovzdanie prezentačného videa s rozmermi 640x360 a dĺžkou aspoň 1 minúta, ktoré ukazuje podstatné a najzaujímavejšie časti projektu. Na vytvorenie videa môžete použiť program Open Broadcaster Software.
Ako projekt vypracujete interaktívnu 3D hru podľa vlastného návrhu, s uceleným svetom, t.j. všetky objekty v hre majú nejaký zmysel a funkciu. Jednotlivé časti projektu sú ohodnotené nasledovne:

Vykreslovanie:
    Min. 6 rôznych textúr (12b)
    Min. 8 geometricky odlišných objektov, z toho aspon 4 animované (bez časticového systému) (12b)
    Použitie Vertex Arrays, VBO na vykreslenie objektov, každý spôsob pre aspoň 30% objektov. (8b)
    2D a 3D font priamo v hre mimo menu (4b)
    Korektne osvetlená scéna, aspoň 3 rôzne svetlá (8b)
    Korektne priehladné okná (8b)
    Casticový systém (efekt ohna, výbuchu, striel) (8b)
    Vykreslenie hmly, jej vypnutie a zapnutie (4b)
    Použitie GLSL shaderov na per-pixel osvetlenie a environmental mapping, … (18b)
Interaktivita:
    Hlavné menu, menu s nastavením (4b)
    Ovládanie myšou aj klávesnicou, volný pohyb v scéne (6b)
    Interakcia užívatela so scénou (napr. kolízie striel s objektami, obmedzenie pohybu, …) (8b)
Bonusy:
    Použitie dalsich shaderov, dalších rozšírení, teselátorov, dobrý herný nápad, ...
Finalne hodnotenie:
    A:90-100 bodov
    B:80-89 bodov
    C:70-79 bodov
    D:60-69 bodov
    E:50-59 bodov
    Fx:0-49 bodov

Videá projektov z minulých rokov

OpenGL Album


Zdrojové kódy príkladov pre cvičenia

Na cvičeniach sa používajú niektoré pomocné knižnice:
GLUT, DevIL, GLEW, FreeType, Extensions header files, TGA files loader, Borland Builder subory.
Zdrojové súbory boli vytvorené aj s pomocou tutoriálov a zdrojov zo stránok:
http://nehe.gamedev.net/, http://www.opengl.org/code/, http://developer.nvidia.com/, http://www.ati.com/developer/

    Cvičenie 1: Nastavenie GLUT, otvorenie okna, základne vykreslenie, ošetrenie vstupov - kód,
    Cvičenie 2: Nastavenie GLEW, Vykresľovanie pomocou glBegin-glEnd, Vertex Arrays, Vertex Buffer Objects - kód,
    Cvičenie 3: Transformácie, viewport, modelovanie, kamera, projekcia - kód,
    Cvičenie 4: Color, depth, stencil buffer, rasterizácia, operácie a testy na fragmentoch - kód,
    Cvičenie 5: Textúry, DevIL knižnica, mipmapping, mapovanie - kód,
    Cvičenie 6: Shadre, načítanie, textúrovanie, GLSL - kód,
    Cvičenie 7: Osvetľovanie, materiály, per-pixel a per-vertex GLSL shadre - kód,
    Cvičenie 8: GLU, teselácia, bitmapové a outline fonty, FreeType - kód,
    Cvičenie 9: Multitextúry, cube mapa, environment mapovanie - kód,
    Cvičenie 10: Multisamapling anti-aliasing, accumulation buffer anti-aliasing, hmla, polygon offset - kód,
    Cvičenie 11: Časticový systém, point parameters & sprite, selekcia a výber objektov - kód,
    Cvičenie 12: WebGL - skybox, environment mapovanie, multitextúry - stránka,kód