Varjostus (engl. shading) on kolmiulotteisessa grafiikassa menetelmä polygonien värien muutokseen. Menetelmä tuottaa valaistusta ja varjoa jäljittelevän ulkoasun. Ilman varjostusta ja valaistusta kappaleen polygoneilla on tasainen väritys kauttaaltaan näkökulmasta riippumatta. Varjostus ja valaistus tuottaa kolmiulotteiselta näyttävän kuvan kaksiulotteiseen projektioon. Ennen polygonigrafiikan yleistymistä varjostusta on käytetty vektorigrafiikkaa käyttävissä videopeleissä kuten Zarch (1987).
Säteenseurantamenetelmät perustuvat valon säteiden tuottamaan valaistukseen, heijastukseen sekä valon ja pintojen ominaisuuksiin, jolloin valaistus tapahtuu osana säteenseuranta-algoritmia ja erillistä varjostusta ei välttämättä tarvita. Säteenseuranta tuottaa realistisemman lopputuloksen mutta on myös huomattavasti hitaampi.
Yksinkertaisin menetelmä on tasavarjostus (engl. flat shading), jossa sama väri toistetaan kauttaaltaan polygonin alueella. Tasavarjostusta on käytetty videopeleissä kuten Virtua Racing (1992) ja Virtua Fighter (1993) Sega Model 1 -kolikkopelialustalla.
Gouraud-varjostus on kehittyneempi menetelmä, jossa väri interpoloidaan verteksien määrittämälle alueelle. Phong-varjostus on realistisempi menetelmä, joka laskee varjostuksen uudelleen useammin, mutta on myös hitaampi kuin Gouraud-menetelmä.
Muita menetelmiä on esimerkiksi cel-shading, joka pyrkii luomaan piirrosanimaation tyylisen ulkoasun, jonka ensimmäisiä käyttökohteita oli Jet Set Radio (2000).[1]
Gooch-varjostus on ei-fotorealistinen varjostus, joka on tarkoitettu teknisen kuvituksen tekemiseen.[2] Valve on käyttänyt Gooch-varjostuksen kaltaista menetelmää Team Fortress 2 -pelissä.[3]
Deferred shading tai deferred rendering on renderöintitekniikka, jossa varjostus jätetään toiseen vaiheeseen renderöinnissä ja ensimmäinen vaihe vain kerää tietoa geometriapuskuriin (G-buffer). Menetelmällä voidaan vähentää laskentakuormaa monimutkaisissa tapauksissa, joissa on useita valoja ja valaistavia kappaleita.[4]