Tentamen TNM061 3D-grafik och animering för MT2 och DAV1 Måndag 29/5 2017 kl 8-12 Inga hjälpmedel Tentamen innehåller 6 uppgifter, vilka tillsammans kan ge maximalt 53 poäng. För betyg G (registreras som sifferbetyg 3) erfordras minst 26 poäng. För betyg VG (registreras som sifferbetyg 5) erfordras minst 38 poäng. Deluppgifterna bygger inte alltid direkt på varandra, så läs t ex b) även om du inte svarar på a). Svara kortfattat men rimligt fullständigt på uppgifterna. Förutsätt inte att läsaren redan kan svaret, utan visa med ditt svar att du kan ämnet och att du förmår förklara det för andra. Förklara införda beteckningar och ekvationer, och redovisa eventuella beräkningar. Rita figurer där det gör svaret tydligare. Glöm inte heller bort att förklara dina figurer i ord eller i ekvationer. För uppgifter som ger många poäng vill jag se rimligt utförliga svar för full poäng, men för uppgifter med enstaka poäng räcker det med korta svar. Även korta svar skall vara tydliga. Jag kommer att befinna mig i närheten av tentamenslokalen och besöka den flera gånger under tentamenstiden för att svara på eventuella frågor. Kontakta tentamensvakten om du behöver få tag i mig mellan dessa tillfällen. Lycka till! Stefan Gustavson
Uppgift 1 (11 p) Phongs lokala reflexionsmodell är klassisk. Man skulle också kunna säga att den är gammal och dålig, även om den fortfarande kan fungera i enklare sammanhang. Modellen brukar presenteras med följande förenklade ekvation: I =I a k a +I d k d ( N L )+ I s k s ( R V )n a) Ekvationen är förenklad. Nämn två saker som formellt sett är felaktiga i ekvationen ovan, alltså beräkningar som inte skulle fungera om man gjorde exakt som det står i ekvationen, och förklara hur man egentligen gör när man implementerar modellen, till exempel i en shader! (3 p) b) Ekvationen ser ut att beskriva en enda intensitet I, alltså gråskalan i en svart-vit bild. Visa hur ekvationen (eller åtminstone tolkningen av den) behöver ändras för att beräkna färgbilder! (2 p) c) Ekvationen förutsätter en enda ljuskälla. Visa hur ekvationen behöver ändras för att beräkna inverkan av flera ljuskällor! (2 p) d) Ljuset i bilder som beräknas med ekvationen som den står ovan blir ganska platt, syntetiskt och torftigt. Delvis beror detta på att det är en lokal reflexionsmodell, men ekvationen beskriver dessutom en väldigt orealistisk ljuskälla. Beskriv översiktligt vilka brister den har, förklara vad som skulle krävas för att någorlunda väl modellera en verklig spotlight (dock utan skuggor), och visa hur ekvationen skulle behöva ändras! (4 p) Uppgift 2 (8 p) a) Animering med keyframing liknar på många sätt den traditionella tekniken med stop motion för att animera t ex dockor, men med en väsentlig skillnad. Vilken? (2 p) b) Man kan ange en explicit bana för rörelser i en scen genom så kallad path scripting. Vad är fördelen mot keyframing? (2 p) c) Fysikalisk simulering kan göras på olika sätt och med olika grader av noggrannhet. Beskriv vilka väsentliga förenklingar man gör för så kallade partikelsystem (particle systems), och förklara varför de förenklingarna underlättar beräkningarna! (4 p)
Uppgift 3 (10 p) Du sitter med ett projekt inom 3D-animering som ska göra en något deprimerande film i stadsmiljö i regn. Den konkreta miljön är Skvallertorget i Norrköping. Ditt ansvar har blivit materialen i scenen, och då framför allt texturerna. a) Torget är stenlagt med ett ganska komplicerat mönster, så där använder du en bildbaserad textur baserad på ett foto. Beskriv hur man behöver redigera bilden av stenläggningen som du ser här för att den ska fungera som en texturbild! (2 p) b) Trots ditt hårda arbete med texturbilden så ser stenläggningen ut att vara detaljlös och platt. Du inser att du dessutom behöver en bump map för att få mer liv i ytan. Förklara hur en sådan fungerar! Använd figur. (3 p) c) Innan regnet är torget ganska ljust och matt. Efter regnet är stenläggningen mörkare och ganska blankt. En stunds solsken gör sedan att ytan torkar. Beskriv hur man kan göra för att göra en animering av hur torget torkar upp gradvis efter regnet, först från helt blött till fläckvis torrt, sedan fläckvis blött, och till sist helt torrt. Övergången ska ske gradvis och steglöst på ett rimligt trovärdigt sätt, men din deadline närmar sig, så du vill ha en enkel lösning. Speciellt har du inte tid att sitta och redigera några nya texturbilder. Hur gör du? (3 p) d) För fasaderna på husen runt torget har du också tagit foton i stil med detta som redigeras för att fungera som texturer. Bilderna är tagna i mulet väder. Varför? (1 p) Man måste dessutom särbehandla fönsterrutorna. Hur, och varför? (2 p)
Uppgift 4 (7 p) När animeringen i uppgift 2 är klar visas den på en filmfestival och får ett pris. Din chef, som inte har någon som helst koll på tekniken och inte heller har deltagit i arbetet med filmen, tar åt sig äran för priset när det delas ut, och säger plötsligt till publiken Our virtual reality version for smartphones, the Skvallertorget experience is coming soon! Du och alla andra i produktionsteamet gör en facepalm och suckar över chefens inkompetens. Ni har varken kunskaper eller verktyg för att göra något sådant. a) Förklara vänligt men bestämt för din oinformerade chef varför det är en helt annan sak att göra en VR-miljö än att göra en film. Beskriv särskilt de tekniska skillnaderna och svårigheterna med att få samma visuella kvalitet i en VR-miljö som i en animerad film, men håll det på en allmän nivå. Din chef är som sagt inte så insatt. Och håll det gärna kort, din chef är inte så bra på att fokusera på tekniska frågor i mer än några få minuter. (5 p) b) Din chef är van vid att kunna lösa problem genom att kasta pengar på dem. Han har hört att problem med rendering inom animering kan lösas med så kallade render farms, ett antal datorer som delar på beräkningsbördan genom att beräkna var sin frame och på så sätt få bättre genomströmning i systemet. Han beordrar IT-avdelningen att köpa en stor server och extra bandbredd till Internet för att öka den visuella kvaliteten på företagets VR-upplevelse, ett projekt som han fortfarande inte kan släppa. ITavdelningen vägrar och hänvisar till dig, som de vet är bra på att förklara saker. Förklara varför en stor fet server på företaget inte löser några problem för användare av en VR-app för mobiltelefoner! (2 p) Uppgift 5 (9 p) Globala belysningsmodeller (global illumination models) försöker modellera all interaktion mellan ljus och objekt i en scen. Problemet kan formuleras som den så kallade renderingsekvationen (rendering equation), där det reflekterade ljuset Lo från en punkt x beror av ytans egenemission Le samt en integral av allt infallande ljus Li mot ytan multiplicerat med en så kallad BRDF (bidirectional reflectance distribution function), f r : Lo ( x, ω o, λ, t )=L e ( x, ω o, λ, t )+ f r ( x, ω i, ω o, λ, t ) Li ( x, ω i, λ, t )( ω i N )d ωi Ω a) Trots att ekvationen är (hyfsat) lätt att formulera är den svår att lösa. Varför? (3 p) b) Det är också svårt att mäta och beskriva en verklig BRDF, så man tar till starka förenklingar. En generell BRDF beror av positionen x för punkten på ytan, infallande och utgående riktning för ljuset ω i, ω o, våglängden λ och tiden t. Beskriv i ord vad det innebär konkret visuellt att en BRDF beror av positionen (1 p), av ljusets våglängd (1 p) och av tiden (1 p)! c) Klassisk ray tracing, en av de enklaste och tidigaste globala belysningsmodellerna, gör starka förenklingar för att snabba upp beräkningarna. Ge exempel på ett slags ljusreflexion som modelleras korrekt av ray tracing (1 p), ett slag som approximeras (1 p) och ett som inte beräknas alls (1 p)! Beskriv de tre fallen i termer av vägen som en tänkt foton tar mellan ljuskällan och kameran.
Uppgift 6 (8 p) Du sitter och programmerar interaktiv 3D-grafik med ett scengrafsbaserat API och förväntas konstruera en scengraf för en virtuell modell av en giljotin som användes för en scenproduktion om den franska revolutionen (närmare bestämt ett studentspex). Ett foto samt en schematisk bild på konstruktionen visas här nedan. Du ska modellera att bilan glider vertikalt (A), att den översta delen av stupstocken (där det stackars offret lägger huvudet) kan fällas upp på ett gångjärn i ena kanten (B), och att hela anordningen kan rulla på fyra hjul, ett i varje hörn av bottenplattan (C). Hjulen är av typen kundvagnshjul som dels rullar, dels vrider sig runt en vertikal axel. a) Rita en scengraf för giljotinen som möjliggör de rörelser A, B, C som beskrivs i texten och bilden ovan! Beskriv alla transformationer i fråga om vilken transformation som utförs och för vilket syfte. Rita även figurer som beskriver vart och ett av dina delobjekt och deras lokala koordinatsystem. (6 p) b) Repet som håller bilan löper från överkanten av den rörliga bilan, runt två trissor uppe i toppen och ner igen längs sidan. Det är tyvärr svårt att beskriva själva repet och dess rörelse som ett objekt i en traditionell scengraf. Varför? (Du behöver inte föreslå någon lösning. Identifiera bara problemet.) (2 p)