Laborationer

Laborationerna har från och med i år (2026) två versioner, OpenGL och Vulkan.

Alla OpenGL-labbar är skrivna för OpenGL 3.2. Det betyder modern OpenGL, 3.2 och upp, till skillnad från det föråldrade 2.1 och ner. Tillägg för OpenGL 4 kan användas, och ni är mer än välkomna att använda dem, speciellt i projekten. Dock kan det förekomma att man hittar maskiner som inte klarar OpenGL 4, medan 3.2 fungerar även på lite blygsammare hårdvara.

När vi jobbade på distans genom ThinLinc så har detta minimikrav visat sig vara en fullträff, för ThinLinc stödjer bara OpenGL 3.3! Men det klarade därmed kravet! :)

Allt labbmaterial är för Linux, men OpenGL-versionerna är ganska enkla att anpassa för andra OS, speciellt MacOSX och Windows. Allt som behövs är lämpliga inställningar i makefiler eller projekt. Vulkan-versionerna är bara testade under Linux.

Laborationerna är obligatoriska (förutom labb 0)! Labb 1-4 inleds med duggor!

Labb 0 är obligatorisk om du inte gick TSBK07 i våras, eller om du tänker använda Vulkan, eftersom Simpler Vulkan har många ändringar som förhoppningsvis gör det lättare att använda.

Observera att duggorna är del av den betygsgrundande examinationen!

Det är inte säkert att ni kan fullfölja en labb på de schemalagda 4 timmarna. Ni ägnar då labben en del tid utanför schemalagd tid, och redovisar på en senare labb. Det finns också handledd extratid, extralabbar. Reservlabben är labbkursens officiella slut, så se till att du är så nära färdig att du blir klar på den. Det går att redovisa senare, för kursen är ju inte slut, men möjligheten att få hjälp är mindre.

Alla laborationer går i labbsalarna Olympen och Asgård. Båda är i korridor 25, övre planet. Nollstället, ett seminarierum som jag ibland använder som reservutrymme, är straxt intill, bakom Olympen.

Egypten, Asgård och Olympen har högpreterande GPUer, NVidia-kort i 4000-serien. Övriga labbsalar har enkla GPUer som är direkt olämpliga för alla GPU-tunga övningar.

För användargränssnittet i OpenGL använder vi MicroGlut, en enda källfil och i sammanhanget mycket liten, med API baserat på OpenGL Utility Toolkit, men det är inte samma sak, det finns både skippade saker och tillägg. Den finns för Mac, Linux och MS Windows. Filerna ingår i common-mappen för alla labbar, som är en uppsättning hjälpfiler (modelladdare, texturladdare, vektor- och matrisoperationer med mera) med ambitionen att vara ganska komplett samtidigt som de är tillräckligt överskådliga för att de skall vara begripliga och därmed transparenta.

För Vulkan använder vi Simpler Vulkan med SDL2.

INGEN FÖRANMÄLAN. Det skall finnas plats för alla.

Laboration 0: Introduktion till shaderprogrammering med GLSL

Olympen, torsdag 3/9 13-17

Detta är en repetitionslaboration för att se till att ni är trygga med OpenGL 3.2+ och GLSL, eller för att komma igång med Simpler Vulkan v2.

Labbhandledning, se menyn

Laborationen hade tidigare ingen egentlig examination men detta kommer att ändras till 2026.

Laboration 1, Datorgrafik: Avancerad Shaderprogrammering

Egypten & Asgård torsdag 10/9 13-17

Laborationen inleds med en dugga, som täcker kapitel 3-5, förutom 3.7-3.8, till och med 5.5. (5.6 och framåt på omduggan.) 

Labbhandledning, se menyn

Förberedelser: Läs på kapitel 3 till 5 innan labben. Kapitel 5 är viktigast för själva labben, övriga för duggan.

Laboration 2, Animation, skinning

Egypten & Asgård torsdag 17/9 13-17

Laborationen inleds med en dugga, som täcker kapitel 5.6, 6, 7.5, 9, 11.

Labbhandledning, se menyn

Laboration 3, Fysik: Biljardbordet

Egypten & Asgård torsdag 24/9 13-17

Laborationen inleds med en dugga, som täcker kapitel 8 (Rigid body animation) fram till 8.5 samt den nya “Beachball Physics". Sergyis föreläsningsanteckningar ingår också (förra årets duger bra) men från i år (2023) skall Beachball Physics täcka i princip samma material. Det innebär att min plan för i år är att duggafrågor baseras på kapitel 8 och Beachball Physics.

Förberedelser: Läs igenom kapitel 8 samt Sergyis föreläsningsanteckningar. Använd gärna Baraff, Physically Based Modelling som stöd och komplettering, kapitel 1-3 samt 8, samt de delar av föreläsningsmaterialet som gäller partikeldynamik och stela kroppens dynamik.

Labbhandledning, se menyn

Laboration 4: AI: flocking

SU25, torsdag 1/10 13-17 OBS annan lokal!

Laborationen inleds med en dugga, som täcker kapitel 10, 12-14 förutom 14.3 samt 5.7-5.8 och kapitel 7 förutom 7.5 som är i dugga 2.

OBS: Grundläggande frågor på GOAP och WFC (i föreläsningsmaterialet men inte i kursboken) kan förekomma på omduggan.

Labbhandledning, se menyn.

Reservlaboration 1:

Olympen, torsdag 8/10 13-17

Reservtid för tidigare laborationer.

OBS! Omduggor! Laborationen inleds med möjlighet att göra om samtliga duggor från tidigare laborationer.

Reservlaboration 2:

SU04, torsdag 16/10 13-17

Reservtid för tidigare laborationer.

Denna sida underhålls av Ingemar Ragnemalm.