Android için WebGPU

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