Hva er 3D og Game Shaders?

En shader er en ekstra kodebit som legges til en gjengivelse av en scene (eller en annen etterproduksjonsmetode). Shaders kan endre visuelle ved endre måten teksturer og belysning vises pånoen ganger på måter som ville være umulig med andre teknikker.

Shaders ble opprinnelig designet for å endre bare den faktiske skyggeleggingen (refererer til lys) i en siste scene, derav navnet.

Dette har siden utviklet seg til å endre alle slags effekter som fargetone og metning, oppblomstring, kontrast og bevegelsesuskarphet.

En skyggelegging er utviklet for å bruke datamaskinens GPU for å legge til disse effektene, noe som tar belastningen av CPU-en for andre oppgaver (som å beregne fysikkinteraksjoner). Den mater toppunktet og teksturinformasjonen til GPUen som deretter gir tilbake lys- og fargeinformasjon.

Enhver sanntidsgjengivelsesmotor, og til og med noen tradisjonelle gjengivelser i 3D-programvarepakker, vil bruke shaders for å beregne belysningen ved hjelp av fysisk basert gjengivelse (PBR).

3D shaders vannslott i Unity
Bildekilde

De fleste shaders vil være forhåndsinnstilte i programvaren du bestemmer deg for å bruke. For eksempel, hvis du bruker Unreal Engine 4 for å designe et videospill, vil postprosesser-objektet gi deg alternativer for hvilke shaders du vil slå på eller av i spillet ditt.

Du kan deretter åpne disse for enda flere alternativer for hvordan de vil se ut i bygget.

Disse typer shaders kalles vertex shaders. Imidlertid finnes det mer komplekse typer shaders kalt geometri og tessellation shaders.

Disse andre typene shaders kan faktisk endre basisgeometrien til et nett for å gi bedre resultater i visse tilfeller. For eksempel, tessellasjon shaders erstatter sakte LOD (detaljnivå)-modeller ettersom de kan optimere en mesh i sanntid avhengig av avstanden til kameraet. Dette kan bidra til å spare lagringsplass ettersom bare ett nett brukes i stedet for 3 eller 4.

  Hva er Substance Painter?

Shaders er et veldig kraftig verktøy. Deres applikasjoner og evner endres raskt ettersom teknologien forbedres over tid.

Skjermbilde av spill for Dungeon Shaders-miljøet
Bildekilde

Et grunnleggende nivå av forståelse for hva de er og hva de kan er alltid bra å ha, men de aller fleste trenger ikke å vite hvordan de jobber i detalj. Dette er fordi forhåndsinnstillingene i de fleste programvare vanligvis vil dekke alle grunnleggende ting du måtte trenge.

Hvis programvaren du bruker ikke har en skyggelegging du ønsker, eller hvis du ikke kan endre en parameter til slik du trenger den, er det mulig å lære å lag dine egne shaders. Selv om det kreves noe utviklingskunnskap for å gjøre dette.

Det er noen opplæringsprogrammer om dette emnet, men merk at det er veldig komplisert og krever mye øvelse for å virkelig forstå hva som ligger til grunn for å faktisk lage noe for deg selv.

Å skrive shaders regnes vanligvis som en spesialisert jobb på filmer, videospill og andre store produksjonsstudioer. Noen ganger blir faktisk folk ansatt av store studioer for kun å jobbe med tilpassede shaders. Så hvis du er god nok til å designe shaders, kan du gjøre en karriere ut av det!