Stiftelsen för Strategisk Forskning

Main content

Breadcrumb


Realistiska renderingar - spelgrafiken leder utvecklingen

Att göra ljusstråk, skuggor, hår och päls verklighetstrogna i datorspel är svårt och även en akademisk disciplin. - Det behövs riktigt smarta sorteringsalgoritmer berättar SSF-forskaren Ulf Assarsson, docent i datorgrafik på Chalmers.

Det är mycket svårare att få datorspel realistiska än spelfilm. I ett datorspel ska scenförändringar hänga med beroende på vilken väg spelaren väljer. Ett antal olika scenarier är tänkbara och ljus och skuggor måste förflytta sig i realtid allteftersom spelaren rör sig genom miljöerna. Och det måste ske millisekundsnabbt, annars kommer spelet att hacka.

Det är därför dagens grafikkort har upp till 512 parallella processorer, att jämföra med en CPU som har fyra. CPU:er är snabba på sekventiell kod, medan grafikkort  är specialiserade för att beräkna parallella processer utan direkt inbördes beroende. Deras stora uppgift är att beräkna de trianglar på skärmen som bygger upp bilden. Trianglarna byggs upp av rött, blått och grönt och de ritas parallellt, alltså samtidigt på skärmen.

Bilderna byggs upp av trianglar på skärmen, datorgrafikkorten har många parallella processorer för att det ska gå snabbt.
Bilderna byggs upp av trianglar på skärmen, datorgrafikkorten har många parallella processorer för att det ska gå snabbt.
Mästare i sortering

Eftersom grafikkorten har så stor beräkningskapacitet används de även för generella beräkningsproblem, som att sortera befolkning i ålder, bokstavsordning eller liknande. Rättstavningsprogrammen använder också sorteringsalgoritmer, och Google använder det som en del i sina sökningar.

- Eftersom det är ganska struligt att programmera grafikkort effektivt, t ex för sortering, har det blivit ett stort forskningsområde berättar Ulf Assarsson.

En svensk spelutvecklare vände sig till Ulf Assarssons forskargrupp med en förfrågan om att fixa bättre hår till figurerna i deras spel. En frisyr sätts samman av ungefär 600 000 linjesegment och kompliceras av att hår har en viss genomskinlighet, vilket ställer stora krav på sorteringsalgoritmerna.  Att rendera, att återge, hår eller päls, är ofta mer beräkningsintensivt än rörelserna som personen eller djuret utför.

-  Jämfört med för tio år sedan går det idag 2000 gånger fortare att datorgenerera päls, vilket innebär att renderingarna börjar bli detaljrika och verklighetstrogna även för spel, berättar Ulf Assarsson.

Bilden till vänster är ett tidigare exempel från spelet Entropia där man hade behov av förbättrad kvalitet. Bilden till höger ett exempel från Chalmers forskargrupp i datorgrafik och vad man kommer kan uppnå.
Bilden till vänster är ett tidigare exempel från spelet Entropia där man hade behov av förbättrad kvalitet. Bilden till höger är ett exempel från Chalmers forskargrupp i datorgrafik.
Om ljus

Ljus är komplicerat, framförallt för att det synes komma från flera håll i vår omgivning. Riktigt ljus studsar mot allt i sin omgivning. Hur ljuset sprids beror också på hur mycket dammpartiklar luften bär och luftfuktigheten. Att få in många ljuskällor, och skuggor, på ett realistiskt sätt är en av de stora utmaningarna i datorspel eftersom det snabbt blir beräkningstungt.

- Det är skuggstråken mellan ljusstrålarna som är det svåra när man har synliga strimmor av ljus i luften. När spelaren rör sig i sidled ska ljuset hänga med, ögat är känsligt för skuggstråk som hamnar fel. Vi har gjort en lösning, den kom ungefär samtidigt med två andra. Vår är överlägset enklast, säger Ulf Assarsson. Men det finns fortfarande många tillhörande ljusspridningsfenomen som ännu saknar tillräckligt snabba lösningar för realtidsapplikationer som spel.

Skuggstråk och tillhörande ljusfenomen är områden som fortfarande saknar tillräckligt snabba lösningar för datorspel.
Skuggstråk och tillhörande ljusfenomen är områden som fortfarande saknar tillräckligt snabba lösningar för datorspel.
 
Bilderna i bildspelet överst kommer från Ulf Assarssons forskning.

Mer skuggspel på Youtube:
 

Section navigation


ULF ASSARSSON

Ulf Assarsson


Ulf Assarsson är docent i datorgrafik vid Chalmers institution för datorteknik. Han är mottagare av SSF:s Ingvar Carlsson Award för projektet ”Ökad realism inom datorgrafik” som löpte mellan 2007-2011.

Han är också medsökande till det nyligen beviljade SSF-projektet ”Mjukvaruabstraktioner för heterogena multiprocessorer”. Projektet finansieras med 20 miljoner kronor under perioden 2011-2016.
 

Kommersiell hackertradition 
Forskningsfronten ligger några år före tillämpningarna i kommersiella spel, en i forskarsammanhang kort tidsrymd. Ulf Assarsson berättar att de lägger ut sina algoritmer, fria att användas.

-Jag blir bara glad när någon plockar in våra algoritmer i sina program, säger Ulf Assarsson. Vi ska gynna industrin, helst den svenska. Visst funderar vi på att kommersialisera vissa av våra resultat, men vi är så upptagna och gillar vår akademiska frihet.

Så han och kollegorna jobbar vidare i sann hackertradition och utöver svenska Mind Ark, som utvecklat spelet Entropia,  är amerikanska Autodesk ett företag som de har regelbunden kontakt med.

Ulf Assarsson är också en av de tidiga grundarna till Illuminate Labs som såldes till Autodesk 2010.


Footer

xltw%tzEqz%uyoK%s%t}l%t}p%spl}ns6%sp