A tantárgyleírás hatályossága
| Tantárgy neve (magyarul, angolul) |
3D grafikus rendszerek
3D Graphics
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tantárgykód | BMEVIIIAC01 | ||||||||||||
| Tantárgyjelleg | — | ||||||||||||
| Képzési szint | — | ||||||||||||
| Kurzustípusok és óraszámok (heti/féléves) |
|
||||||||||||
| Tanulmányi teljesítmény/értékelés típusa | vizsga | ||||||||||||
| Tantárgy kreditértéke | 4 | ||||||||||||
| Tantárgyfelelős |
Szécsi László
beosztás: egyetemi docens
elérhetőség:
szecsi.laszlo@vik.bme.hu
|
||||||||||||
| Tantárgyat gondozó oktatási szervezeti egység |
Irányítástechnika és Informatika Tanszék
|
||||||||||||
| Kar | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Tantárgy weboldala | http://cg.iit.bme.hu/portal/node/42223 | ||||||||||||
| Tantárgy elsődleges mintatantervi jellege | — | ||||||||||||
| Közvetlen előkövetelmények – Erős előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Gyenge előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Párhuzamos előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Mérföldkő előkövetelmény | nincs | ||||||||||||
| Közvetlen előkövetelmények – Kizáró feltétel | nincs |
Célkitűzés
1. hét
Előadás: JavaScript programozás: típusok, operátorok, függvények, objektumok. Funkcionális vs. objektum-orientált programozás. Duck typing vs. kötött interfészek. JavaScript a böngészőben. DOM, Canvas, CSS. Szövegmegjelenítés. WebGL. Eseménykezelés. Rajzolási hurok.
2. hét
Előadás: A grafikus hardver programozása WebGL-ből. Konfigurálható és programozható elemek. WebGL vs. GLSL vs. HLSL. Hogyan tervezzünk/válasszunk vektor/mátrix könyvtárat?
Géptermi gyakorlat: JavaScript + WebGL: mozgó, textúrázott négyszög.
3. hét
Előadás: Visszavetítés programnyelvekben. Visszavetítés betekintéssel, módosíthatósággal. Árnyaló-visszavetítés. Játékobjektum-modellek: komponensalapú, tulajdonságalapú. Anyagrendszerek. Színtérgráf. Többszörös taxonómiák grafikus alkalmazásokban. Monolitikus osztály-hierarchia. Mix-in. Fix és dinamikus komponens-rendszerek.
4. hét
Előadás: Egyszerű mechanikai szimuláció. Csatolt objektumok. Csillapítás és vezérelhetőség. Ütközésdetektálás- és válasz. Double dispatch probléma, visitor minta, megoldás dinamikus típusokkal. Egyszerű mesterséges intelligencia.
Géptermi gyakorlat: 2D WebGL játékalkalmazás.
5. hét
Előadás: Kvaterniók: műveletek, tulajdonságok. Möbius-transzformációk. SLERP. 3D forgatások. Yaw-pitch-roll. 3D modellformátumok és kamerakezelés.
6. hét
Előadás: 3D árnyalás haladóknak: környezet-leképezés, procedurális textúrázás, normáltérképek.
Géptermi gyakorlat: WebGL modellnézegető/shader tesztelő
7. hét
Előadás: Zajgenerálás: zajtulajdonságok, Perlin, simplex, Cellular, Gabor, LRP. Szintfelület-sugárkövetés. Ray marching. Gömbkövetés. 3D fraktálgeometriák, kvaternió-Julia halmaz.
8. hét
Előadás: Térfogati fényjelenségek és egyszerűsített gyakorlati módszerek.
Géptermi gyakorlat: végtelen terep megjelenítése magasságtérkép alapján, illetve procedurálisan, implicit függvény alapján. Konstans és változó köd.
9. hét
Előadás: Render-to-texture. Többmenetes módszerek: késleltetett árnyalás, sziluettélek, árnyékok, utófeldolgozás, 3D festés, sorrendfüggetlen átlátszóság, 2.5D imposztorok.
10. hét
Előadás: D3D programozás. Buffertípusok és műveleteik. Általános célú számítások. CUDA vs. OpenCL vs. DirectCompute.
Géptermi gyakorlat: Textúrába renderelt kép átlagos fényességének számítása redukcióval, compute shaderben. Tone mapping.
11. hét
Előadás: Beépített kamera kezelése. Jellegzetes pontok felismerése.
12. hét
Előadás: Kamerakép manipulációja. Kamerakép és szintetikus képelemek kompozitálása.
Géptermi gyakorlat: WebGL videólejátszás- és feldolgozás. Virtuálisvalóság-elemek hozzáadása markerek alapján.
13. hét
Előadás: Karakteranimácó az ipari gyakorlatban. Csontok, ízületek, csomópontok fogalma. Rigging, skinning, vertex blending. Duális kvaterniók karakteranimációhoz.
14. hét
Előadás: D3D12 és Vulkan.
Géptermi gyakorlat: Tömeges karakteranimáció compute shaderek segítségével.
Tanulmányi eredmények
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Tudás
Nincsenek rögzített tanulási eredmények.
Képességek
Nincsenek rögzített tanulási eredmények.
Attitűd
Nincsenek rögzített tanulási eredmények.
Autonómia és felelősség
Nincsenek rögzített tanulási eredmények.
Oktatási módszertan
Tanulástámogató anyagok
Online források
A tantárgy teljesítéséhez ajánlott előzetes ismeretek
Általános szabályok
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Szorgalmi időszakban végzett teljesítményértékelések részaránya
Nincs megadva részarány.
Vizsgaidőszakban végzett teljesítményértékelések részletes leírása
Nincs megadva részletes értékelés.
Vizsgarészek részaránya
Nincs megadva részarány.
Érdemjegy megállapítása
Nincs megadva érdemjegy határ.
Jelenléti és részvételi követelmények
Nincs megadva jelenléti követelmény.
Javítás, ismétlés és pótlás különös szabályai
Nincs megadva.
Rövid leírás
Nincs megadva.
Részletes leírás
Nincs megadva.
Ajánlott tantárgyak
A tantárgy elvégzéséhez szükséges tanulmányi munka
Nincs megadva munkaidő bontás.
Tantárgykövetelmények hatályossága
Tantervi elhelyezés
Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.