Programování grafiky 2 bližší informace o studiu na katedře

Programování grafiky 2

Detaily předmětu

Vyučující Petr Felkel
Rozsah výuky 2 + 2
Kredity 6
Semestr Z
Zakončení Z + Zk
Web https://cent.felk.cvut.cz/courses/PGR2/
Rozvrhy a4m39pgr2, b4m39pgr2

Anotace

Cílem předmětu je seznámit studenty s pokročilými technikami pro modelování a zobrazování scén a s možnostmi moderních grafických akcelerátorů a způsobu jejich programování. Předmět je zaměřen na získání teoretických i praktických zkušeností při programování pokročilých technik pomocí grafické knihovny OpenGL a jejích rozšíření. Součástí předmětu je seznámení s jazykem GLSL a programováním grafických karet na úrovni zobrazovacího řetězce (vertex and fragment shaders).

Přednášky

  • 1.

    Úvod k předmětu, Extenze v OpenGL

  • 2.

    Úvod do architektury a programování dnešních GPU pipeline, jazyk GLSL

  • 3.

    Profilování a optimalizace grafických aplikací, gDEBugger

  • 4.

    Pokročilé techniky texturování I. multitexturing, cube map., enviroment mapping

  • 5.

    Pokročilé techniky texturování II. bump-, parallax-, displacement-mapping

  • 6.

    Pokročilé techniky texturování III. tex. souř. v GPU, proj. mapování, interpolace

  • 7.

    Image based rendering a billboarding

  • 8.

    Techniky vykreslování do textur

  • 9.

    Techniky generování stínů

  • 10.

    Architektury dnešních GPU

  • 11.

    GPGPU programování negrafických aplikací na GPU

  • 12.

    Víceprůchodové algoritmy z pohledu toků dat v GPU - prostředky pro psaní komplexních aplikací

Cvičení

  • 1.

    Organizace cv., zadání semestrální práce. Transformace z pohledu GPU

  • 2.

    Vertex procesor I. funkce, začlenění do zobrazovacího řetězce, vertex shader

  • 3.

    Posílání geometrických dat do GPU I. nahrávání dat do GPU, využívání cache

  • 4.

    Posílání geometrických dat do GPU II. přímé přístupy, instanční zobrazování

  • 5.

    Vertex procesor II. předávání dat do VP, přístup do paměti GPU z VP

  • 6.

    Fragment procesor I. funkce, začlenění do zobrazovacího řetězce, fragment shader

  • 7.

    Fragment procesor II. texturování, multi-texturing, mipmapping, filtrovaní textur

  • 8.

    Fragment procesor III. pokročilé texturování, cube maps, projektivní mapování

  • 9.

    Vykreslování do textur I. dynamické vytváření textur, P-Buffer

  • 10.

    Vykreslování do textur II. frame-buffer objekty, renderování do více textur

  • 11.

    Geometrický procesor funkce, začlenění do zobraz. řetězce, geometry shader

  • 12.

    Asynchronní dotazy na GPU viditelnost, měření času, počtu přístupů, geometrie

  • 13.

    Kontrola semestrální práce, zápočet

Literatura & zdroje

  • 1.

    T. Akenine-Möller, E. Haines, and N. Hoffman, Real-Time Rendering, A.K. Peters Ltd., 3rd edition, 2008.

  • 2.

    Randi J. Rost, OpenGL Shading Language, Addison-Wesley Professional, 2004.