WGSL Spesifikasyonu

WebGPU Shading Language — W3C spesifikasyonunun kapsamlı Türkçe çevirisi

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

01
/// TEMELLER

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ı.

1 – 5, 16
02
/// TİP SİSTEMİ

Tip Sistemi

Type checking, plain types, vektör/matris/dizi tipleri, memory views, texture/sampler tipleri ve type alias'lar.

6
03
/// DEĞİŞKENLER

Değişkenler ve İfadeler

const/override/let/var bildirimleri, address space'ler, aritmetik/mantıksal/bit ifadeleri ve operatör önceliği.

7 – 8
04
/// KONTROL AKIŞI

Program Akışı ve Fonksiyonlar

Kontrol yapıları, davranış analizi, assertion mekanizması, fonksiyonlar ve alias analizi.

9 – 11
05
/// GPU ARAYÜZÜ

GPU Arayüzü ve Bellek

15 attribute, entry point'ler, shader interface, bellek düzeni (alignment/size) ve Vulkan bellek modeli.

12 – 14
06
/// PARALEL ÇALIŞMA

Paralel Çalışma ve Doğruluk

Uniformity analizi, collective operasyonlar, workgroup/subgroup yapıları ve floating-point doğruluk kuralları.

15
07
/// ATOMİC & SYNC

Atomic ve Bellek Senkronizasyonu

Atomic operasyonlar, barrier senkronizasyonu, memory layout kuralları, uniformity analizi ve floating-point doğruluk.

13 – 15
08
/// BUILT-IN

Built-in Kütüphanesi

13 kategoride ~130+ yerleşik fonksiyon: constructor, mantıksal, numerik, texture, atomic, senkronizasyon ve grammar.

17 – 18

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

3
Shader Aşaması
vertex · fragment · compute
6
Adres Uzayı
function · private · workgroup · uniform · storage · handle
130+
Built-in Fonksiyon
numerik · texture · atomic · senkronizasyon
15
Attribute
align · binding · group · location · workgroup_size

Dokümantasyon Hakkında

Bu sayfa, W3C'nin resmi WGSL spesifikasyonunun Türkçe çevirisidir. Düzenleme: Uğur Toprakdeviren.