GLSL

OpenGL-ov jezik sjenčanja (engl. OpenGl Shading Language) skraćeno GLSL ili GLslang je visoko razinski jezik za sjenčanje temeljen na sintaksi programskog jezika C. Kreiran je od strane OpenGl ARB (engl. OpenGl Architecture Review Board Working Group) da bi developerima dao izravnu kontrolu nad grafičkim cjevovodom bez da koriste ARB asemblerski ili neki drugi niski hardverski specifičan programski jezik. Izvorno je predstavljen kao ekstenzija za OpenGL 1.4, a formalno je postao dio OpenGL-a u verziji OpenGL 2.0 2004. godine.

Jednostavno rečeno, GLSL je programski jezik korišten da bi grafičkoj kartici precizno naložili kako treba nacrtati neki objekt na ekranu. GLSL omogućuje programerima veću kontrolu nad 3D objektima koji se prikazuju na ekranu, što prije nije bilo baš tako lako moguće.

Prednosti GLSL-a

  • Kompatibilnost za više operacijskih sustava: GNU/Linux, Mac OS X i Windows
  • Mogućnost pisanja šedera koji se mogu koristiti na bilo kojoj grafičkoj kartici, bilo kojeg proizvođača koji podržava GLSL
  • Svaki proizvođač hardvera uključuje GLSL kompajler u svoje drajvere i tako omogućuje kreiranje koda optimiziranog za svoju arhitekturu grafičkog procesora

Usporedba

Slika 11. prikazuje usporedbu grafike s i bez GLSL-a.

Slika 11. GLSL

Primjeri GLSL-a

Nekoliko različitih slojeva s različitom prozirnošću dobiven je privid krzna.
Artefakti na modelu te osvjetljenje s različitim bojama je dobiveno korištenjem GLSL šedra.
Odbijanje podloge o kuglu.
Efekt svijetla i sjene.

Što je sve moguće napraviti

Primjer efekta pomoću GLSL-a

Skinite kod pritiskom na sliku