Modulets indhold, forløb og pædagogik
Modulet giver en introduktion til koncepter og teknikker
indenfor real-tids computergrafik. Fokus er på de programmerbare
funktionaliteter (shader-programmering) i moderne Computer Graphics
Units (GPUs), f.eks. som tilgængelige gennem grafiske APIer, såsom
OpenGL. Modulet dækker også relevante matematiske koncepter, såsom
transformation mellem koordinatsystemer, og matematiske modeller,
såsom Phong’s reflektionsmodel, samt hvorledes disse anvendes i
GPU-baserede shaderprogrammer.
Læringsmål
Viden
Studerende, som gennemfører modulet, vil opnå:
- Viden om den programmerbare, hardware-accelererede
renderings-pipeline, f.eks. som den er tilgængelig gennem OpenGL,
samt dens relation og interaktion med den centrale
processeringsenhed
- Viden om begreberne vektorbaser, vektorrum og
koordinatsystemer, samt transformationer mellem disse
- Viden om matematiske repræsentationer for vilkårlig rotation i
3D rum, herunder repræsentation som matrice, akse og vinkel, samt
quaternion
- Viden om beregning af kvadratisker Bezier-kurver og
splines
- Viden om interpolation af vertex-attributter såsom farve
(f.eks. til per-vertex lighting), normaler (f.eks. til per-pixel
lighting) og teksturkoordinater
- Viden om frame-buffer-operationer, herunder blending og
dybdetests
- Viden om accelrationsteknikker, såsom viewport clipping og
backface culling
- Viden om teknikker til forbedring af billedkvalitet, såsom
antialiasering via supersampling, og mipmap teksturfiltrering
- Viden om almindelige performance flaskehalse for GPUer,
herunder også GPUer til mobile enheder
Færdigheder
Studerende, som gennemfører modulet, vil være i stand til
at:
- Formulere og anvende en hvilken som helst 3D affin
transformation i homogene koordinater som en 4x matrix operation,
og anvende dette i et GPU-baseret shaderprogram
- Beskrive real-tids lokale belysningsmodeller, i særdeleshed
Phong reflektionsmodellen, og anvende dette i et GPU-baseret
shaderprogram
- Beskrive texture mapping teknikker, herunder compositing af
multiple teksturer, normal mapping, environment/reflection mapping,
og shadow mapping, samt anvende disse i et GPU-baseret
shaderprogram
Kompetencer
Studerende som gennemfører modulet vil være i stand til at:
- Implementere et program til proceduralt at generere, og
interaktivt kontrollere og rendere, tre-dimensionelt
indhold
Undervisningsform
Se oversigt over undervisningsformer under §17.
Eksamen
Forudsætning for indstilling til prøven
- For at kvalificere sig til eksamen, skal den studerende have:
- afleveret obligatoriske opgaver rettidigt
- færdiggjort obligatoriske studieaktiviteter rettidigt
Prøver
Prøvens navn | Computergrafik programmering |
Prøveform | Mundtlig pba. projekt |
ECTS | 5 |
Tilladte hjælpemidler | Med visse hjælpemidler:
Se semesterbeskrivelse |
Bedømmelsesform | 7-trins-skala |
Censur | Intern prøve |
Vurderingskriterier | Vurderingskriterierne er angivet i Universitetets
eksamensordning |