DV1568 3D-Programmering

Programkurs, 15 Högskolepoäng, Grundnivå, höstterminen 2020

Denna kurs är del av program och går inte att söka till.

3D-programmering är en av huvudbyggstenarna inom spelproduktion och utgör en brygga mellan 3D-modellering och spelberättelse. Syftet med kursen är att studenterna ska skaffa sig en ökad förståelse för 3D-grafik och 3D-programmering samt kunskap om de viktigaste begreppen i ämnet. Aktuella tekniker som bland annat används inom spelbranschen, introduceras och används i kursen. Teknikerna utgör en bas för studenternas vidare kunskapsutveckling.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Period: 2020 vecka 45 till 2021 vecka 12
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges i huvudsak på svenska men undervisning på engelska kan förekomma.
  • Ort: Karlskrona
  • Huvudområde: Datavetenskap
  • Kursplan: Ladda ner
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: För tillträde till kursen krävs att studenten avklarat 7,5 hp C- eller C++-programmering samt genomgått kurs innehållande linjär algebra.

Innehåll

• Renderingspipeline - hur 3D-objekt transformeras och renderas.
• Renderingsmetoder - likheter och skillnader mellan strålspårning och rastrerad rendering.
• Transformationer i 3D - med hjälp av transformationer kan objekt transformeras (roteras,
skalas och translateras) i virtuella miljöer.
• Texturering – momentet skapar förståelse för hur ett objekt texturmappas, samt hur texturerna kan filtreras för att undvika vikning.
• Skärningstester mellan olika kroppar sådana som sfär/box, box/box, stråle/box, stråle/sfär etc.
• Mjukvarubibliotek anpassade för 3D-rendering.
• Accelerationstekniker som kan användas för ökad prestanda, exempelvis Quad-träd.
• Realtidsanimationer baserade på skelett- och morf-teknik.
• Uppskjuten rendering (deferred rendering).
• Pipelineoptimering – förmåga att förbättra applikationsprestanda genom djupare förståelse för hur renderingspipelines fungerar.
• GPGPU-tekniker som kombineras med rastrerad rendering.
• Ljussättning och rendering som är tekniker för reflektion av omgivning, skuggmappning och skuggvolymer.

Lärandemål

Kunskap och förståelse
Efter genomförd kurs skall studenten:
• i detalj kunna redogöra för programmerbar grafikrenderingspipeline samt kunna beskriva syftet med dess användning.
• kunna beskriva metoder och tekniker som är relevanta inom ämnet.
• kunna redogöra för skillnader och likheter mellan strålspårning och rastrerad rendering.

Färdighet och förmåga
Efter genomförd kurs skall studenten:
• kunna utveckla och implementera 3D-applikationer.
• kunna kommunicera 3D-programmering så att det främjar samarbetet och förståelsen mellan programmerare och grafiker.
• kunna redogöra för grundläggande skillnader och likheter mellan olika mjukvarubibliotek samt kunna avgöra vilken teknologi som är mest lämplig i en given situation.

Värderingsförmåga och förhållningssätt
Efter genomförd kurs skall studenten:
• kunna diskutera och resonera kring för- och nackdelar med olika grafikrenderingstekniker.

Kurslitteratur och övriga läromedel

Huvudlitteratur
Real-Time Rendering, 3 edition
Författare: Akenine-Möller Tomas, Haines Eric och
Hoffman Naty
Förlag: A K Peters Ltd
Utgiven: 2008, Antal sidor: 1026
ISBN10: 1568814240
ISBN13: 978-1568814247
Practical Rendering and Computation with Direct3D 11
Författare: Jason Zink, Matt Pettineo, Jack Hoxley
Utgiven: 2011, Antal sidor: 648
ISBN-10: 1568817207
ISBN-13: 978-1568817200

Kurslitteratur och övriga läromedel

Huvudlitteratur
Real-Time Rendering, 3 edition
Författare: Akenine-Möller Tomas, Haines Eric och
Hoffman Naty
Förlag: A K Peters Ltd
Utgiven: 2008, Antal sidor: 1026
ISBN10: 1568814240
ISBN13: 978-1568814247
Practical Rendering and Computation with Direct3D 11
Författare: Jason Zink, Matt Pettineo, Jack Hoxley
Utgiven: 2011, Antal sidor: 648
ISBN-10: 1568817207
ISBN-13: 978-1568817200

Lärande och undervisning

• Föreläsningar där teorier presenteras
• Laborativa uppgifter där studenterna implementerar teorierna och stimuleras att svara på frågor om och reflektera över det de arbetar med.
Projektuppgift där studenterna, enskilt eller i mindre grupp, arbetar med att skapa en demoapplikation. Projekthandledning sker varje vecka.

Arbetslivsanknytning

Ingen praktik ingår i planerade lärtillfällen. BTH strävar efter tät kontakt med näringslivet vid utveckling av kurser och program.

Bedömning

Examinationsmoment för kursen
Kod Benämning Högskolepoäng Betyg
1710 Salstentamen 4 A-F
1720 Inlämningsuppgift 1 1.5 G-U
1730 Inlämningsuppgift 2 1.5 G-U
1740 Projektuppgift 8 G-U

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursutvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.