3DWEBDESIGN
WebGL (Web Graphics Library), web üzerindeki 3D grafikler için en yeni standarttır ve hem 2D grafiklerin hem de etkileşimli 3D görsellerin render edilmesi amacıyla tasarlanmıştır. OpenGL ES 2.0 kütüphanesinden türetilmiştir; bu kütüphane, mobil cihazlar ve akıllı telefonlar için düşük seviyeli bir 3D API sağlar. WebGL™, ES 2.0 (Gömülü Sistemler) ile karşılaştırılabilir bir işlevsellik sunar ve modern 3D grafik donanımında yüksek performans için optimize edilmiştir.
WebGL™ Nedir?
WebGL™, HTML5 ile birlikte kullanılabilen bir JavaScript API'sidir. WebGL kodu, HTML5'in "CANVAS" etiketinin içinde yazılır. Bu, internet tarayıcılarının, kullanıldıkları bilgisayarlardaki Grafik İşlem Birimlerine (GPU'lar) erişimini sağlayan bir spesifikasyondur. WebGL™ programları, JavaScript ile yazılmış kontrol kodu ve C veya C++'ya benzer bir dil olan OpenGL ES Shading Language (GLSL ES) ile yazılmış shader kodundan oluşur ve bu kod bilgisayarın grafik işlem biriminde (GPU) çalıştırılır.
Gerçek Zamanlı Render Alma
Render alma, bir modelden bilgisayar programları kullanarak bir görüntü oluşturma sürecidir. Grafiklerde, sanal bir sahne, geometri, bakış açısı, doku, aydınlatma ve gölgeleme gibi çeşitli unsurlarla tanımlanır ve bu unsurlar bir render programı tarafından işlenir. Bu render alma sürecinin çıktısı, dijital bir görüntüdür.
İki tür render alma vardır:
Yazılım Render Alma − Tüm render alma hesaplamaları CPU (Merkezi İşlem Birimi) yardımıyla yapılır.
Donanım Render Alma − Tüm grafik hesaplamaları GPU (Grafik İşlem Birimi) tarafından gerçekleştirilir.
Render alma yerel veya uzaktan yapılabilir. Eğer render edilmesi gereken görüntü çok karmaşıksa, o zaman karmaşık sahneleri render etmek için yeterli donanım kaynaklarına sahip özel bir sunucuda uzaktan render alma işlemi gerçekleştirilir. Bu işleme sunucu tabanlı render alma denir. Render alma ayrıca CPU tarafından yerel olarak da yapılabilir ve buna istemci tabanlı render alma denir.
WebGL™, 3D sahneleri render almak için istemci tabanlı bir render alma yaklaşımını takip eder. Bir görüntü elde etmek için gerekli tüm işlem, istemcinin grafik donanımını kullanarak yerel olarak gerçekleştirilir.
WebGL™'nin Avantajları
JavaScript programlama − WebGL uygulamaları JavaScript ile yazılır. Bu uygulamalar ile HTML Belgesi'nin diğer unsurlarıyla doğrudan etkileşimde bulunabilirsiniz. Ayrıca, WebGL uygulamasını zenginleştirmek için diğer JavaScript kütüphanelerini (örn. JQuery) ve HTML teknolojilerini kullanabilirsiniz.
Mobil tarayıcılarla artan destek − WebGL, iOS Safari, Android Tarayıcı ve Chrome for Android gibi mobil tarayıcıları da destekler.
Açık kaynak − WebGL açık kaynaklıdır. Kütüphanenin kaynak koduna erişebilir ve nasıl çalıştığını ve nasıl geliştirildiğini anlayabilirsiniz.
Derleme gereksinimi yok − JavaScript yarı programlama ve yarı HTML bileşenidir. Bu betiği çalıştırmak için dosyayı derlemenize gerek yoktur. Bunun yerine, dosyayı herhangi bir tarayıcıda doğrudan açabilir ve sonucu kontrol edebilirsiniz. WebGL uygulamaları JavaScript kullanılarak geliştirildiği için, WebGL uygulamalarını da derlemenize gerek yoktur.
Otomatik bellek yönetimi − JavaScript otomatik bellek yönetimini destekler. Manuel bellek tahsisine gerek yoktur. WebGL, JavaScript'in bu özelliğini miras alır.
Kurulumu kolay − WebGL, HTML 5 içinde entegre edildiği için ek bir kurulum gerektirmez.
Diğer grafik API'leri gibi, WebGL sahneleri için içerik oluşturmak, düzenli bir 3D içerik oluşturma aracı kullanmayı ve sahneyi görüntüleyici veya yardımcı kütüphane tarafından okunabilir bir biçime aktarmayı gerektirir.