DV1568 3D-Programmering

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

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: 2018 vecka 45 till 2019 vecka 13
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges normalt 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.

Generella förmågor

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.

Lärare

Examinator
  1. Stefan Petersson
Kursansvarig
  1. Stefan Petersson

Tidsåtgång

I genomsnitt bör en student räkna med att studera 400 timmar för att nå lärandemålen.
I denna tid ingår alla olika förekommande lärandeaktiviteter (föreläsningar, självstudier, examination m. m.).
Tidsuppskattningen baseras på att ett akademiskt år omfattar 60 högskolepoäng (motsvarar 60 ECTS credits),
som svarar mot en total studietid på ca 1 600 timmar. Den faktiska studietiden varierar individuellt.

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.

Kommande tentamenstillfällen

Inga kommande centralt samordnade tentamenstillfällen hittades för denna kurs.

För att få delta vid ett centralt samordnat tentamenstillfälle måste du ha anmält dig i Studentportalen senast 15 dagar innan tentamensdagen.


Lokal och tidpunkt publiceras ca 5 dagar innan tentamensdagen.


Det kan finnas andra planerade examinationstillfällen. Information om de finns i It's Learning 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.