Bugünkü yazımızda GLSL'in heyecan verici dünyasına gireceğiz. Her zaman büyük ilgi gören bir konu olmuştur ve son zamanlarda daha da alakalı hale gelmiştir; bu nedenle konunun tüm yönlerini ve yönlerini anlamak çok önemlidir. Bu yazıda GLSL hakkında detaylı bilgi, ilgili veriler ve kapsamlı bir analiz bulacaksınız. Ayrıca bu konuda eksiksiz ve küresel bir vizyon sunabilmek amacıyla konuya ilişkin farklı bakış açıları ve görüşlere de değineceğiz. Bu nedenle, GLSL hakkında daha fazla bilgi edinme ve onun büyüleyici evrenine dalma fırsatını kaçırmayın.
GLSL, (OpenGL Tarayıcı Dili,GLsLang diye de bilinir) C tabanlı yüksek seviye bir programlama dilidir.OpenGL ARB tarafından,geliştiricilerin grafik işhattına assembly veya donanım-bağımlı bir dil bilmeden direkt erişim sağlaması için yaratılmıştır.
Grafik kartlarındaki son gelişmelerle,yaratım işhattında tepe noktası ve parçalama seviyesinde kolaylık sağlamak için birçok özellik eklendi.Bu seviyede programlama parçalama ve tepe noktası tarayıcılarını kullanılarak gerçekleştirilir. Aslında bu başarım tarayıcıları assembly dilinde yazarak sağlandı.OpenGL ARB daha GPU yu daha kolay anlaşılır bir dille programlamak için eski açık standartlarını devam ettirerek OpenGL Tarayıcı Dilini yaratmıştır.
İlk önce OpenGL 1.4 ün bir uzantısı olarak ortaya çıkmış,daha sonra resmi olarak GLSL OpenGL 2.0 ın içine dahil edilmiştir.OpenGL 2.0, 1992'de çıkan OpenGL 1.0 den bu yana ilk büyük revizyondur.
GLSL kullanımının bazı faydaları
GLSL daha önce C diline aşina olanlara tanıdık operatörler sunarak tarayıcı programlamada rahatlık sunar.İşaretçiler ve Bit operatörleri dışında C ve C++ daki operatörleri içerir.
GLSL C dilinde olduğu gibi döngü ve dallanmayı destekler ve if, else, if/else, for, do-while, break, continue gibi yapıları içerir. Kullanıcı tanımlı fonksiyonlar desteklenir ve birçok bilindik fonksiyon hazır olarak gelir.Böylece kart üreticileri bu fonksiyonları donanım seviyesinde optimize edebilirler.Bunlardan bazıları Math kütüphanesindeki exp() fonksiyonu gibi veya daha grafik programlamaya yönelik texture2D() gibidir.
GLSL tarayıcılar tek başlarına çalışabilen uygulamalar değillerdir ve OpenGL API lerini işleten progamlara ihtiyaç duyarlar. API uygulamaları değişik sistemlerde ve değişik dil bağlamları ile mevcuttur.
GLSL tarayıcılar,kart sürücüsüne, OpenGL API lerini kullanan bir program tarafından derlenmesi için geçirilen basit katar kümeleridir.Tarayıcılar bir programdan çıkabilir veya bir yazı dosyasından okunabilir ancak sürücüye mutlacak katar halinde gönderilmelidir. GLSL programlarını derlemek bağlamak ve parametre göndermek için kullanılan API ler 3 OpenGL uzantısı içinde belirlenmiş ve OpenGL nin çekidek parçası haline gelmiştir.Bu API ler şu uzantılar içinde bulunabilir.
GLSL tarayıcılar onu kullancak uygulamaya enjekte edilmeden önce test edilmelidir.Bu amaç için birçok program mevcuttur.