====== Programování grafiky 2 ====== | {{:all:members:fullsize:felkepet-right.jpg?nolink&100|Ing. Petr Felkel, Ph.D.}} ^ Vyučující | [[:cs:members:felkepet|Ing. Petr Felkel, Ph.D.]] | __ ^ Rozvrhy | [[https://www.feld.cvut.cz/education/rozvrhy-ng/public/cz/predmety/13/47/p1347706.html|A4M39PGR2]] | | ::: ^ Zakončení | Z + Zk | ::: ^ Web | [[http://service.felk.cvut.cz/courses/X39GSY/|A4M39PGR2]] | | ::: ^ Kredity | 6 | ::: ^ Rozsah výuky | 2 + 2 | | ::: ^ Semestr | L | ::: ^ Typ předmětu | [[http://www.feld.cvut.cz/education/bk/role.html#V|V]] | {{gallery>all:study:courses:pgr2?*pic* }} ====== 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). {{gallery>all:study:courses:pgr2?*slide* }} ====== Osnovy přednášek ====== 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í \\ ====== Osnovy 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 ====== 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. \\