Kaynak: W3C WGSL Specification · 8 bölüm · ~130+ yerleşik fonksiyon
Genel Bakış
WGSL (WebGPU Shading Language), WebGPU API'si ile kullanılmak üzere tasarlanmış GPU shader dilidir. Vertex, fragment ve compute shader aşamalarını destekler. Bu dokümantasyon, W3C WGSL spesifikasyonunun tüm bölümlerini (1–18) kapsayan yapılandırılmış bir Türkçe çeviridir.
Bölümler
Temeller ve Yapı
WGSL modülü, sözdizimi notasyonu, yorumlar, token'lar, literal'lar, anahtar kelimeler, tanımlayıcılar ve ayrıştırma kuralları.
Tip Sistemi
Type checking, plain types, vektör/matris/dizi tipleri, memory views, texture/sampler tipleri ve type alias'lar.
Değişkenler ve İfadeler
const/override/let/var bildirimleri, address space'ler, aritmetik/mantıksal/bit ifadeleri ve operatör önceliği.
Program Akışı ve Fonksiyonlar
Kontrol yapıları, davranış analizi, assertion mekanizması, fonksiyonlar ve alias analizi.
GPU Arayüzü ve Bellek
15 attribute, entry point'ler, shader interface, bellek düzeni (alignment/size) ve Vulkan bellek modeli.
Paralel Çalışma ve Doğruluk
Uniformity analizi, collective operasyonlar, workgroup/subgroup yapıları ve floating-point doğruluk kuralları.
Atomic ve Bellek Senkronizasyonu
Atomic operasyonlar, barrier senkronizasyonu, memory layout kuralları, uniformity analizi ve floating-point doğruluk.
Built-in Kütüphanesi
13 kategoride ~130+ yerleşik fonksiyon: constructor, mantıksal, numerik, texture, atomic, senkronizasyon ve grammar.
Hızlı Başlangıç
Minimal bir WGSL compute shader örneği:
// Kaynak bağlamaları
@group(0) @binding(0)
var<storage, read_write> data: array<f32>;
// Compute shader entry point
@compute @workgroup_size(64)
fn main(@builtin(global_invocation_id) gid: vec3<u32>) {
let idx = gid.x;
if idx < arrayLength(&data) {
data[idx] = data[idx] * 2.0;
}
}
Önemli Kavramlar
Dokümantasyon Hakkında
Bu sayfa, W3C'nin resmi WGSL spesifikasyonunun Türkçe çevirisidir. Düzenleme: Uğur Toprakdeviren.