Uslužna knjižnica OpenGL® (GLU) je zbirka funkcija grafičkog programiranja koja pruža dodatnu funkcionalnost za osnovne OpenGL® rutine. Osnovna biblioteka OpenGL® daje osnovni okvir za renderiranje trodimenzionalne (3D) grafike, a OpenGL® GLU implementira funkcije koje rade s okvirom kako bi programeru pružio prošireni skup alata za korištenje u izvođenju složenijih operacija u jednostavnijem način. Također postoji nekoliko funkcija unutar OpenGL® GLU-a koje napredne primitivne tipove kao što su cilindri i kugle čine lako dostupnim. Uz podršku za složene sustave modeliranja, GLU dodatno uključuje funkcije za izvođenje matričnih operacija, prikladne prijevode za kameru scene i okvir za prikaz i više čitljivih omota funkcija za uobičajenu obradu 3D grafike.
Značajke OpenGL® GLU pokušavaju proširiti osnovne funkcije koje su uključene u standardnu OpenGL® biblioteku. Umjesto da se jednostavno fokusira na renderiranje pojedinačnih poligona, GLU pokušava pružiti više funkcija koje pomažu u stvaranju i upravljanju cijelim scenama. To uključuje niz rutina koje olakšavaju prevođenje položaja kamere oko proizvoljnih točaka, kao i pojednostavljene funkcije koje pomažu u uspostavljanju glasnoće gledanja.
Drugi dio OpenGL® GLU-a koji nije u osnovnoj biblioteci je implementacija naprednih primitivnih oblika. Dok standardna biblioteka nudi samo funkcije za crtanje trokuta ili poligona, GLU ima funkcije koje mogu konstruirati objekte kao što su kugle, kutije i cilindri. Iako ove funkcije lako može napisati programer 3D grafike, može uštedjeti vrijeme za korištenje verzija koje su već testirane i bez bugova.
Osim primitivnih oblika, postoji i osnovna podrška za neuniformne racionalne b-spline (NURBS). To su vrlo učinkoviti geometrijski oblici koji se mogu savijati i teći organski i koriste vrlo malo memorije. Podrška za NURBS u GLU-u omogućuje programeru ili umjetniku gotovo potpunu slobodu u dizajniranju oblika i objekata unutar scene.
Mogućnost visoke razine koju pruža OpenGL® GLU je okvir mipmappinga. Mipmapping je oblik mapiranja teksture koji pomaže povećati brzinu renderiranja scene. To se postiže korištenjem više od jedne slike za teksturu. Svaka tekstura je napravljena od nekoliko sličnih slika, od kojih je svaka manja i manje detaljna od prethodne, tako da objekti koji se nalaze na udaljenosti koriste manje detaljne teksture i posljedično se renderiraju mnogo brže.