Objektin pinnan "elävöittäminen" voidaan toteuttaa valojen, varjojen ja pintamateriaalien avulla. Vaikka valokiila olisi suunnattu vain tietyn objektin pinnalle, valo heijastuu ja valaisee mahdollisesti myös muita objekteja. Näinollen pinnan valaistus ja varjostus riippuu sekä materiaalista että useammasta valonlähteestä ja heijastuksista.
Valonlähteitä voi olla useita samassa näkymässä. Valonlähde määritellään aliohjelmakutsulla glLight{i f}v(GLenum light, GLenum pname, TYPE param). Parametri light kertoo, mikä valonlähde on kyseessä. Valonlähteitä voi samassa näkymässä olla ainakin kahdeksan (LIGHT0,..., LIGHT7). Parametri pname ilmaisee, mitä valon ominaisuutta määritellään (väriä, heijastuksen voimakkuutta, suuntaa jne.). Kolmantena parametrinä viedään yksi tai useampi lukuarvo riippuen mitä ominaisuutta ollaan muuttamassa. Parametrien selitykset aliohjelmalle glLight{i f}v(GLenum light, GLenum pname, TYPE param) on selitetty taulukossa 6.1. Valon käyttö on tehtävä vielä mahdolliseksi aliohjelmakutsulla glEnable (GL_LIGHTING). Kun valot ovat yleisesti käytössä, on vielä kerrottava, mitkä valonlähteet halutaan käyttöön. Jokainen valonlähde on erikseen otettava käyttöön samalla aliohjelmakutsulla glEnable(valonlähde), jolle viedään parametrinä haluttu valonlähde (LIGHT0,..., LIGHT7).
Objektin materiaalin määrittely sisältää samankaltaisia ominaisuuksia kuin valon määrittelykin. Materiaalista määritellään väri sekä erilaisia heijastusominaisuuksia. Materiaali määritellään aliohjelmalla glMaterial{i f}(GLenum face, GLenum pname, TYPE param). Objektin etu- ja sisäpinnalle on mahdollista määritellä erilaiset ominaisuudet. Ollaanko määrittelemässä etu-, taka- vaiko molempia puolia, ilmoitetaan parametrin face (GL_FRONT, GL_BACK, GL_FRONT_AND_BACK) avulla. Parametri pname kertoo, mitä materiaalin ominaisuutta ollaan muuttamassa ja param antaa sille arvon. Materiaalin määrittelyn suorittavan aliohjelman glMaterial{i f}(GLenum face, GLenum pname, TYPE param) parametrien arvot on selitetty taulukossa 6.2.