DV1542 3D-Programmering för civilingenjörer

Programkurs, 16 Högskolepoäng, Grundnivå, höstterminen 2021

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 i kursen. Teknikerna utgör en bas för studenternas vidare kunskapsutveckling.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Studietid: 2021 vecka 44 till 2022 vecka 22
  • 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: Avklarat 12 högskolepoäng programmering och 6 högskolepoäng linjär algebra.

Innehåll

Kursen ger:

  • 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 grafikrenderings-tekniker.
  • kunna diskutera och resonera kring hur prestanda påverkas i olika situationer.

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

Referenslitteratur
Introduction to 3D Game Programming with DirectX11
Författare: Frank D. Luna
Utgiven: 2012, Antal sidor: 864
ISBN10: 1936420228
ISBN13: 978-1936420223

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)
Författare: Dave Shreiner
Utgiven: 2013, Antal sidor: 984
ISBN10: 0321773039
ISBN13: 978-0321773036

GPU PRO 3: Advanced Rendering Techniques
Författare: Wolfgang Engel
Utgiven: 2012, Antal sidor: 408
ISBN10: 1439887829
ISBN13: 978-1439887820

GPU PRO 4: Advanced Rendering Techniques,
Författare: Wolfgang Engel
Utgiven: 2013, Antal sidor: 382
ISBN-10: 1466567430
ISBN-13: 978-1466567436

GPU PRO 5: Advanced Rendering Techniques,
Författare: Wolfgang Engel
Utgiven: 2014, Antal sidor: 522
ISBN-10: 1482208636
ISBN-13: 978-1482208634

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

Referenslitteratur
Introduction to 3D Game Programming with DirectX11
Författare: Frank D. Luna
Utgiven: 2012, Antal sidor: 864
ISBN10: 1936420228
ISBN13: 978-1936420223

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)
Författare: Dave Shreiner
Utgiven: 2013, Antal sidor: 984
ISBN10: 0321773039
ISBN13: 978-0321773036

GPU PRO 3: Advanced Rendering Techniques
Författare: Wolfgang Engel
Utgiven: 2012, Antal sidor: 408
ISBN10: 1439887829
ISBN13: 978-1439887820

GPU PRO 4: Advanced Rendering Techniques,
Författare: Wolfgang Engel
Utgiven: 2013, Antal sidor: 382
ISBN-10: 1466567430
ISBN-13: 978-1466567436

GPU PRO 5: Advanced Rendering Techniques,
Författare: Wolfgang Engel
Utgiven: 2014, Antal sidor: 522
ISBN-10: 1482208636
ISBN-13: 978-1482208634

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.

Lärare

Bedömning

Examinationsmoment för kursen
Kod Benämning Högskolepoäng Betyg
1410 Tentamen 5 A-F
1420 Uppgift 1 1.5 G-U
1430 Uppgift 2 1.5 G-U
1440 Projekt 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.

Kursvä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.