GLSL
GLSL je tehnika koju je razvio OpenGL. On je zapravo jezik koji sluzi za sjencanje raznih povrsina. GLSL se temelji na sintaksi osnovnog C programiranja. Napravljen je kako bi programerima dao bolju kontrolu grafickh cjevovoda bez da bi se trebalo koristiti ARB jezik ili hardverske jezike.
Kroz napredovanje grafickih kartica dodane su i nove znacajke koje su omogucile fleksibilnost u radu sa cjevovodima. Nova razina programiranja postignuta je sa upotrebom fragmenata i „Vertex“ sjencanja. Kao sto je vec napomenuto originalna funkcionalnost postignuta je u ARB assembly language-u. Oni su u svojem razvoju gledali nacin na koji bi programeri na sto bolji nacin prikazali razlicite module sjenjcanja. Prvi GLSL ubacen je kao produzetak u verziju OpenGL 1.4 a kao standradni dio koda postao je od verzije 2.0. On je i bio prva velika verzija OpenGl-a 1.0. Danas postoje neke prednosti GLSL-a:
- Moguca je implementacija na vise operacijskih sustava: GNU / Linux , Mac OS X i Windows
- Mogucnost pisanja „shadera“ koji mogu biti iskoristeni na bilo kojoj grafickoj kartici koja podrzava OpenGL Shading Language.
Kako bismo što bolje predocili što zapravo GLSL radi prikazati cemo nekoliko primjera.
Slika: Prikaz GLSL-a i bez GLSL-a
Na slici mozemo vidjeti kakve razlike su koristenja GLSL-a. Naime drvo na lijevo strani ne korisiti GLSL dok na desno strani se koristi. Vidimo da je razlika ocita. GLSL omogucuje prikazivanje punoi vise detalja te opcija. U nastavku ce biti prikazani jos neki primjeri.
GLSL ima mnogo opcija koje je moguce implementirati, odnosno postoje mnoge razne strukture koje se mogu napraviti u tom alatu. Kako bismo to najbolje vidjeli mozemo jednostavni posjetiti sljedeci link i tamo pisati svoj kod koji nam zatim izbacuje rezultate. Ne morate skidati nikakvi alat u kojem biste primjenili tehnologiju. Takodje na stranicama se nalazi mnostvo razlicitih primjera koji se mogu pogledati. Neki od tih primjera su i na stranici.
Implementacija GLSL-a
Na gornjim slikama mozete vidjeti implementirani razne kodove. Nadalje na sljedeci link mozete pogledati kodove koje je autor stranice implementirao.
