Rasterization — nedir, aşamaları ve çalışma prensibi

Yazar: IT Sectr Yayınlanma: 2026-06-11 Okuma süresi: 10 dk

Rasterization (tarama/rasterleştirme), üç boyutlu ilkellerin (üçgenler, çizgiler, noktalar) vektör tanımını ekranda görüntülenmek üzere bir dizi piksele (parçacık) dönüştürme işlemidir. Khronos Group, 2025'e göre rasterizasyon, grafik boru hattının Vertex Shader ile Fragment Shader arasında yer alan otomatik (programlanamaz) bir aşamasıdır. Rasterization ekranın hangi piksellerinin hangi üçgene ait olduğunu belirler ve her parçacık için enterpole edilmiş nitelikleri hesaplar.

Önemli Noktalar

  • Rasterization — vektör ilkellerinin raster görüntüye (piksel) dönüştürülmesi.
  • Scanline conversion — bir üçgenin piksel kapsamasını belirleyen temel algoritma.
  • Nitelik enterpolasyonu — her parçacık için renk, doku koordinatları ve normallerin hesaplanması.
  • MSAA — çoklu örnekleme, rasterizasyon sırasında pürüzlü kenarları (aliasing) yumuşatır.
  • Performans rasterizasyonun performansı üçgen sayısına ve ekran çözünürlüğüne bağlıdır.

Rasterizasyon nedir?

Rasterization, geometrik ilkelleri (üçgenler, çizgiler) Fragment Shader tarafından daha sonra işlenmek üzere bir dizi parçacığa dönüştüren grafik boru hattının bir aşamasıdır. Girdi verileri, ekran koordinatlarındaki üçgen köşeleri ve bunların nitelikleridir (renk, normaller, UV). Çıktı, enterpole edilmiş niteliklere sahip bir dizi parçacıktır.

Programlanabilir gölgelendiricilerin (Vertex Shader ve Fragment Shader) aksine rasterizasyon sabit (programlanamaz) bir aşamadır. Geliştirici rasterizasyon algoritmasını değiştiremez ancak parametrelerini kontrol edebilir: kırpma modu (culling), çizgi genişliği, derinlik kaydırması (polygon offset) ve çoklu örnekleme.

Gerçek zamanlı grafiklerde rasterizasyonun rolü

Neredeyse tüm modern gerçek zamanlı grafikler — oyunlar, UI, AR/VR — rasterizasyon kullanır. 60 FPS'de kare başına milyonlarca üçgeni işleyebilen en yüksek performanslı render yöntemidir. GPU rasterleştiricileri, özel ROP (Render Output Units) blokları aracılığıyla aynı anda binlerce üçgenin paralel işlenmesi için optimize edilmiştir.

Rasterizasyon nasıl çalışır?

Üçgen rasterizasyonu, Vertex Shader köşeleri ekran koordinatlarına dönüştürdükten sonra başlar. GPU bir üçgenin üç köşesini alır ve ekranın hangi piksellerinin bu üçgenin içinde olduğunu belirler.

Üçgen rasterizasyonunun aşamaları

Süreç üç ardışık adım içerir: üçgenin piksel cinsinden sınırlayıcı kutusunun (bounding box) belirlenmesi — sınırlayıcı kutu içindeki her pikselin üçgene aitliğinin kontrolü (kenar fonksiyonu) — kapsanan her piksel için enterpole edilmiş niteliklerin (barysentrik koordinatlar) hesaplanması. Kenar fonksiyonu, bir noktanın üçgen kenarının hangi tarafında olduğunu belirleyen doğrusal bir denklemdir.

AşamaAçıklamaSonuç
Kırpma (Clipping)Görüntü alanı sınırları dışındaki üçgenlerin kesilmesiGörünür ilkeller
Görüntü alanı dönüşümüEkran koordinatlarına dönüştürmePiksel koordinatları
Üçgen kurulumuKenar fonksiyonları ve sınırlayıcı kutu hesaplamaRasterizasyon parametreleri
Parçacık oluşturmaKapsama testi ve enterpolasyonParçacıklar + nitelikler

Rasterizasyon algoritmaları

Rasterization çeşitli algoritmalarla uygulanabilir ve her birinin performans ile kalite arasında kendi ödünleşimleri vardır. Modern GPU'lar birden fazla yaklaşımın bir kombinasyonunu kullanır.

Tarama çizgisi (Scanline) algoritması

İlk GPU'lar için geliştirilen klasik rasterizasyon algoritması. Üçgen satır satır (scanline) işlenir: ekranın her satırı için üçgenin giriş ve çıkış noktaları belirlenir ve aralarındaki tüm pikseller doldurulur. Scanline conversion büyük üçgenler için verimlidir ancak rastgele şekilli üçgenler için karmaşık mantık gerektirir.

Yarım uzay (Half-Space / Kenar Fonksiyonu) yöntemi

Modern GPU'lar yarım uzay rasterizasyon yöntemini kullanır: üçgenin her kenarı için bir kenar fonksiyonu hesaplanır — bir tarafta pozitif, diğer tarafta negatif olan doğrusal bir denklem. Üç kenar fonksiyonunun tümü pozitifse piksel üçgene aittir. Half-space rasterization kolayca paralelleştirilebilir ve SIMD GPU mimarileri için çok uygundur.

Döşeme tabanlı rasterizasyon (TBR)

Mobil GPU'lar (Qualcomm Adreno, ARM Mali) Döşeme Tabanlı İşleme (Tile-Based Rendering — TBR) kullanır. Ekran küçük döşemelere (16x16 veya 32x32 piksel) bölünür ve rasterizasyon her döşeme için ayrı ayrı gerçekleştirilir. Bu, çerçeve arabelleğini hızlı yerel bellekte (döşeme belleği) depolayarak bellek erişimlerini en aza indirir. TBR, mobil cihazlar için kritik olan güç tüketimini azaltır.

Rasterizasyon vs Ray Tracing

Rasterization ve ışın izleme (ray tracing), 3B grafik işleme için temelde farklı iki yaklaşımdır. Rasterizasyon gerçek zamanlı uygulamalarda baskınken, ışın izleme çevrimdışı işlemede kullanılır ve yavaş yavaş gerçek zamanlıya (RTX uyumlu GPU'larda) girmektedir.

ParametreRasterizationRay Tracing
PrensipÜçgen → parçacıklarIşın → sahne kesişimi
HızÇok hızlı (milyonlarca üçgen/kare)Yavaş (binlerce ışın/kare)
KaliteEk teknikler gerektirir (gölge, yansıma)Fiziksel olarak doğru gölge ve yansımalar
Mobil GPU'larStandart yöntemSınırlı destek (A17 Pro, Snapdragon Gen 3)
Güç tüketimiDüşükYüksek

MSAA ve rasterizasyonda kenar yumuşatma

Rasterizasyon aliasing sorununa yol açar — üçgen sınırlarında pürüzlü kenarlar (jaggies). Bunun nedeni pikselin ayrık olması ve bir üçgen tarafından kısmen kapsanamamasıdır. Aliasing ile mücadele için çoklu örnekleme (MSAA) kullanılır.

MSAA nasıl çalışır

MSAA (Çoklu Örnek Kenar Yumuşatma), artırılmış örnekleme oranında (2x, 4x, 8x) rasterizasyon gerçekleştirir. Piksel başına bir örnek yerine, her biri üçgen kapsaması için test edilen birden fazla alt örnek kullanılır. MSAA 4x, piksel başına 4 alt örnek işleyerek işleme çözünürlüğünü tamamen artırmadan belirgin kenar yumuşatma sağlar.

FXAA ve diğer işlem sonrası yöntemler

MSAA'nın aksine, işlem sonrası kenar yumuşatma yöntemleri (FXAA, SMAA, TAA) rasterizasyondan sonra nihai görüntüyü analiz ederek çalışır. FXAA (Hızlı Yaklaşık Kenar Yumuşatma) görüntü kenarlarını algılar ve yumuşatma için bulanıklık uygular, MSAA'dan önemli ölçüde daha hızlı çalışır ancak daha düşük kalitededir.

GPU'da rasterizasyon ve optimizasyon

Rasterization modern GPU'larda özel donanım blokları — ROP (Render Output Units) tarafından gerçekleştirilir. ROP sayısı, GPU'nun saniyede işleyebileceği piksel sayısı olan doldurma hızını (fill rate) doğrudan etkiler.

Rasterizasyon performans faktörleri

  • Üçgen sayısı — kare başına düşen üçgen sayısı. Her üçgen kurulum ve kenar testi için ek yük gerektirir.
  • Doldurma hızı — ROP bloklarının saniyede işlediği piksel sayısı. GPU saat frekansına ve ROP sayısına bağlıdır.
  • Overdraw — üçgen örtüşmesi nedeniyle aynı pikselin tekrar tekrar rasterize edilmesi. Nesnelerin derinliğe göre sıralanmasıyla optimize edilir.

Mobil GPU'lar için rasterizasyon optimizasyonu

Mobil GPU'lar (Döşeme Tabanlı İşleme) için kritik faktörler şunları içerir: erken-Z reddi (early-Z rejection) ile overdraw'u en aza indirme, görünmeyen üçgenleri kaldırmak için arka yüz kırpma (back-face culling) kullanma ve diğer nesneler tarafından tamamen kaplanmış üçgenleri atmak için gizleme kırpması (occlusion culling) kullanma.

Sıkça Sorulan Sorular

Basit anlamda rasterizasyon nedir?

Rasterizasyon, üçgenleri ekranda piksellere dönüştürme işlemidir. GPU üç boyutlu bir üçgen alır, ekranın hangi piksellerini kapladığını belirler ve renklendirme için Fragment Shader'a gönderir.

Rasterizasyonun ışın izlemeden farkı nedir?

Rasterizasyon üçgenleri ekrana yansıtır ve piksel kapsamasını belirler (çok hızlı). Işın izleme kameradan ışınlar gönderir ve geometri ile kesişimi kontrol eder (fiziksel olarak daha doğru ancak önemli ölçüde daha yavaş).

Rasterizasyonda neden kenar yumuşatmaya ihtiyaç vardır?

Rasterizasyon sırasında bir piksel ya tamamen bir üçgene aittir ya da ait değildir — bu nedenle pürüzlü kenarlar (aliasing) oluşur. MSAA, piksel başına birden çok alt örnek kullanarak kenarları yumuşatırken, FXAA son görüntüye bir filtre uygular.

Rasterizasyon aşaması programlanabilir mi?

Hayır, rasterizasyon grafik boru hattının sabit bir aşamasıdır. Geliştirici algoritmayı değiştiremez ancak ayarları kontrol edebilir: kırpma (culling), çokgen kaydırma (polygon offset), rasterizasyon modu (noktalar, çizgiler, üçgenler) ve MSAA parametreleri.

Mobil GPU'lar neden Döşeme Tabanlı İşleme kullanır?

Döşeme Tabanlı İşleme (TBR), ekranı döşemelere böler ve bunları küresel VRAM yerine hızlı yerel bellekte işler. Bu, pil ile çalışan mobil cihazlar için kritik olan güç tüketimini ve bant genişliğini büyük ölçüde azaltır.

Özet

  • Rasterization — ekranda görüntülenmek üzere vektör üçgenlerinin raster parçacıklara dönüştürülmesi.
  • Half-space yöntemi — modern GPU'lardaki ana rasterizasyon algoritması.
  • Döşeme Tabanlı İşleme — mobil GPU'larda (Adreno, Mali) kullanılan rasterizasyon mimarisi.
  • Aliasing — pürüzlü kenar sorunu, MSAA, FXAA veya TAA ile çözülür.
  • Doldurma hızı — ROP bloklarının sayısına bağlı temel rasterizasyon performans parametresi.
  • Overdraw — piksellerin tekrarlanan rasterizasyonu, erken-Z ve gizleme kırpması ile optimize edilir.
  • Ray Tracing — performans pahasına fiziksel olarak doğru işleme sağlayan alternatif bir yöntem.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun