Android Jetpack WebGPU kitaplığı, WebGPU standardı için deyimsel Kotlin bağlamaları sağlayarak Android uygulamalarınızda yüksek performanslı, modern 3D grafikler ve işlem yetenekleri sunar.
WebGPU, WebGL'nin halefi ve OpenGL'nin manevi varisidir. Modern GPU'ların çalışma şeklini yansıtacak ve GPU özelliklerini platformlar arası, güvenli ve ergonomik bir şekilde kullanıma sunacak şekilde sıfırdan geliştirilmiştir.
Neden WebGPU?
- Kolaylaştırılmış Kullanılabilirlik: Vulkan, Android'deki birincil düşük seviyeli grafik API'sidir. WebGPU, Vulkan'a kıyasla kullanımı daha kolay ve önemli ölçüde daha az ayrıntılı olan modern ve daha üst düzey bir API sunar.
- Toplu İşleme ve Serileştirme WebGPU, protokol sohbetini en aza indirmek için tasarlanan Komut Arabellekleri'ne birden fazla komut kaydeder. Bu, Kotlin bağlamaları kullanılırken harici yöntemlerin çağrılması ihtiyacını da en aza indirir.
- Evrensel Destek: WebGPU gölgelendirici kodu (WGSL), web dahil olmak üzere platformlar arası WebGPU uygulamalarında doğrudan paylaşılabilir.
- Optimize edilmiş işlem: İşlem ve grafik görevleri arasında sorunsuz, kopyalama gerektirmeyen arabellek paylaşımı, performansı artırır ve eski API'lere kıyasla geliştirmeyi kolaylaştırır.
Bu kitaplık kimlere yöneliktir?
Bu kitaplık, GPU'ya doğrudan erişim gerektiren yüksek performanslı uygulamalar oluşturmak için tasarlanmıştır:
- Resim ve video işleme filtreleri
- Veri görselleştirmeleri
- Makine öğrenimi çıkarımı
- Oyunlar ve simülasyonlar
Hedef Olmayanlar: Bu bir oyun motoru değil, grafik API'sidir. Kendi oluşturma döngünüzü, kamera matrislerinizi ve sahne grafiğinizi yönetmek sizin sorumluluğunuzdadır.
Temel WebGPU kavramları
Temel WebGPU nesnelerini ve bunların nasıl etkileşimde bulunduğunu anlamak, WebGPU geliştirmesi için çok önemlidir.
Concept |
Açıklama |
Örnek |
WebGPU'ya giriş noktasıdır. Adaptörlere ve yüzeylere erişim sağlar. |
Bağdaştırıcı |
Cihazdaki belirli bir GPU'yu temsil eder. |
Cihaz |
Kaynakların oluşturulduğu GPU ile mantıksal bağlantınız |
Sıra |
GPU'ya komut göndermek için kullanılan mekanizma |
Shader Module |
WebGPU Shading Language (WGSL) ile yazılmış GPU kodunuz |
Ardışık düzenler |
Bir görev için GPU'nun tüm durumunu (gölgelendiriciler, karıştırma) açıklayan nesneler |
Bağlama Grupları |
Veri arabelleklerini (ör. dokular) gölgelendiricilere bağlar. |
Command Encoder |
GPU komut dizisini komut arabelleğine oluşturmak için kullanılan bir nesne |