GLSL: Revizyonlar arasındaki fark

[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Dieforwhat (mesaj | katkılar)
Yeni sayfa: 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...
 
Değişiklik özeti yok
1. satır:
'''GLSL''',([[OpenGL]] Tarayıcı Dili,'''GLsLang''' diye de bilinir) C tabanlı yüksek seviye bir programlama dilidir.OpenGl[[OpenGL]] ARB tarafından,geliştiricilerin grafik işhattına assembly veya donanım-bağımlı bir dil bilmeden direk erişim sağlaması için yaratılmıştır.
 
==Geçmişi==
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 olark 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ı
*Değişik işletim sistemleri üzerinde platformlar arası uyumluluk([[MacOS]],[[Linux]],[[Microsoft Windows]])
*OpenGL Tarayıcı dilini destekleyen her grafik kartı üzerinde çalışabilecek kod yaabilmekyazabilmek.
*Herbir grafik kartı üreticisi kendi sürücüsüne GLSL derleyici dahil eder.
 
==Operatörler==
'''GLSL''' daha önce C diline aşina olanlara tanıdık operatörler sunarak tarayıcı programlama da rahatlık sunar.İşaretçiler ve Bit operatörleri dışında C ve C++ daki operatörleri içerir.
 
==Fonksiyonlar ve Kontrol Yapıları==
'''GLSL''' C dilinde olduğu gibi döngü ve dallanmayı desktekler 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 <nowiki>exp()</nowiki> fonksiyonu gibi veya daha grafik programlamaya yönelik <nowiki>texture2D()</nowiki> gibidir.
 
===Derleme ve Çalıştırma===
'''GLSL''' tarayıcılar tek başlarına çalışabilen uygulamalar değillerdir ve OpenGl[[OpenGL]] [[API]] lerini işlletenişleten progamlara ihtiyaç duyarlar.
API uygulamaları değişik sistemlerde ve değişik dil bağları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öderilmelidir.
'''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.
 
* [http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_shader.txt ARB Tepe Tarayıcı]
* [http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_shader.txt ARB Parça Tarayıcı]
* [http://oss.sgi.com/projects/ogl-sample/registry/ARB/shader_objects.txt ARB Tarayıcı Nesneleri]
 
===Araçlar===
'''GLSL''' tarayıcılar onu kullancak uygulamaya enjekte edilmeden önce test edilmelidir.Bu amaç için bir çok program mevcuttur.
 
 
* [http://www.ati.com/developer/rendermonkey/ RenderMonkey] - [[ATI]] tarafından yaratldı.GLSL programlarını yaratmak test ve debug etmek için arayüz sunar.DirectX destekler.Sadec Microsoft Windows üzerinde çalışır]].
* GLSLEditorSample - [[MacOS]] üzerinde çalışır.Tarayıcı yaratma ve derlemeye yarar.Debug etmez.[[Xcode]] 2.3 ve üzerinin bir arçasıdır.
* [[Quartz Composer]] - MacOS üzerinde çalışan sanal programlama ortamıdır.Oluşturma,derleme ve diğer Quartz yamaları ile sanal programlama modeli altında entegrasyonu sağlar.Debug etmez.Ücretsiz dağıtılan [[Xcode]] un bir parçasıdır.
* [http://lumina.sourceforge.net/ Lumina] - Platformdan bağımsız GLSL geliştirme Aracı.Arayüz olarak Qt kullanır.
* [http://www.typhoonlabs.com/ Shader Designer] - Kullanımı kolay GLSL IDE si TyphoonLabs ın ürünüdür.Buna rağmen ücretsiz olarak indrilip kullanılabilir.Ayrıca tarayıcı örnekleri ve yeni başlayanlar için dökümanlar içermektedir.
* [http://www.ozone3d.net/demoniak3d/ Demoniak3D] - GLSL tarayıcıları çabuk yazıp derleyebileceğiniz bir araç. Demoniak3D [[XML]] ve [[LUA]] karışımı bir dil kullanır.Gerçek 3B sahneler için oluşturmak için GLSL kullanır.
*[http://cg.in.tu-clausthal.de/publications.shtml Shader Maker] - Shader Maker basit ve platformlar arası bir araçtır. [[Windows]], [[Linux]], ve [[MacOS X]] üzerinde çalışır.
 
==Kaynak==
*[[Rost, Randi J.]] ''OpenGL Shading Language''. 1st ed. Pearson Education, Inc, 2004. ISBN 0-321-19789-5
*Kessenich, John, & Baldwin, David, & Rost, Randi. ''The OpenGL Shading Language''. Version 1.10.59. 3Dlabs, Inc. Ltd.
==Dış Bağlantılar==
*[http://shady.goyman.com Ths Tarayıcı Dizini] {{Dead link|date=May 2008}}
*[http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.20.8.pdf GLSL Language Specification, Version 1.20]
*[http://www.mew.cx/glsl_quickref.pdf GLSL Reference Sheet]
*[http://oss.sgi.com/projects/ogl-sample/registry/ARB/fragment_shader.txt OpenGL Fragment Shader Specification]
*[http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_shader.txt OpenGL Vertex Shader Specification]
*[http://www.opengl.org/registry/specs/ARB/shader_objects.txt OpenGL Shader Objects Specification]
*[http://www.opengl.org OpenGL Resmi Sayfası]
*[http://developer.3dlabs.com/ GLSL Kaynak ve Dökümanlar] {{Dead link|date=May 2008}}
*[http://www.lighthouse3d.com/opengl/ Lighthouse3D Ders ve Örnekleri]
*[http://nehe.gamedev.net NeHe Productions Ders ve Örnekleri]
*[http://www.typhoonlabs.com A GLSL Development Environment]
*[http://www.ati.com/developer/rendermonkey/ RenderMonkey Tarayıcı Geliştirme Ortamı]
*[http://www.geist3d.org/ Geist3D GLSL düzenleyici içeren grafik motoru]
*[http://lumina.sourceforge.net/ Lumina Platformdan bağımsız GLSL IDE si]
*[http://www.vis.uni-stuttgart.de/glsldevil/ glslDevil Açık Kaynak GLSL Hata Ayıklayıcısı]
*[http://www.ozone3d.net/tutorials/ oZone3D.Net GLSL Dersleri]
 
[[de:OpenGL Shading Language]]
[[es:GLSL]]
[[en:GLSL]]
[[fr:GLSL]]
[[ja:GLSL]]
[[pl:OpenGL Shading Language]]
[[zh:GLSL]]
"https://tr.wikipedia.org/wiki/GLSL" sayfasından alınmıştır