At give deltagerne et overblik over opbygningen af realtids computer grafik systemer (som de f.eks. forekommer i forbindelse med CAD, VR, game engine, computer animation, 3D-multimedie og scientific visualization) og sætte deltagerne i stand til selv at anvende og udvikle grafisk orienteret programmel til visualisering, modellering og animation.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
Anvende en applikationsgrænseflade som OpenGL til programmeludvikling
Tilgå grafisk hardware vha. shadersprog som Cg/GLSL
Definere en 3D scene med forskellige objekttyper, lyskilder etc.
Anvende forskellige kamera-typer og -geometrier til at visualisere scenen
Interagere med dele af scenen vha forskellige interaktionsteknikker
Modellere lys-materiale interaktion for en overflade og udvikle simple shadere
Simulere overfladedetaljer vha. texture mapping og bump mapping
Simulere omgivelserne vha environment maps
Simulere skygger og spejlende interreflektioner
Interaktivt editere i simple 3D-modeller
Animere kamera og objektplaceringer mv.
Foretage dynamisk lyssætninger
Kursusindhold:
OpenGL som API. Udvidede kameramodeller. Transformationer og projektioner. Lokale kontra globale belysningsmodeller. Hybridmetoder. Realtids-rendering: Skyggealgoritmer, Bump, Reflektion, Environment og multi-texture mapping. 3D-grafikkort og implementering af vertex, pixel og unified shadere i GLSL/Cg. Interaktionsteknikker (pick, select, rubber banding, events). Funktionelt baseret modellering: Træer, planter, skyer, 2D- og 3D-teksturer. Volumenmodellering: Boundary Modeller, CSG, Analytisk (B-spline og Nurbs) og Voxel modellering (Volume Sculpting, Volume Rendering).
Bemærkninger:
Indgangskursus til computer grafik på Kandidat-niveau. Kurset kører sideløbende med kursus 02562, men de to kurser kan følges uafhængigt af hinanden, selv om de to kurser komplementer hinanden. Forudsætning for kursus 02563 og ønskelig forudsætning for kursus 02566. Computer grafik interesserede bachelor studerende kan følge kurset.