Örnek sorular
Gfx Post Processing Aa HdrZorluk 2
Tipik bir post-process pass'i, bir önceki pass'in sonucuna nasıl erişir?
- aBir önceki pass'in derinlik değerleriyle her nesnenin vertex shader'ını yeniden çalıştırır.
- bBir önceki render target'ı doğrudan bir sonraki pass'in vertex buffer'ına kopyalar.
- cEkranı kaplayan tek bir üçgen çizer ve bir önceki render target'ı girdi tekstürü olarak örnekler.✓
- dBir önceki pass'in renklerini üçgen ID'sine göre indekslenen bir uniform buffer'dan okur.
Açıklama:Post-process pass'leri genelde ekranı kaplayan tek bir üçgen/quad çizer ve fragment shader içinde bir önceki pass'in render target'ını girdi tekstürü olarak örnekler; sahne geometrisini yeniden çalıştırmaz.
Gfx Post Processing Aa HdrZorluk 1
Bloom efektinde 'bright-pass' (eşikleme) adımı ne yapar?
- aYalnızca belirlenen parlaklık eşiğinin üzerindeki pikselleri tutar.✓
- bBulanıklaştırma pass'lerinden önce her pikseli gri tona çevirir.
- cBulanıklaştırma pass'lerinden önce render target'ın çözünürlüğünü artırır.
- dGörüntünün tamamına son tonemap operatörünü uygular.
Açıklama:Bright-pass adımı yalnızca luminans eşiğinin üzerindeki pikselleri ayırır; parlamayı üreten downsample/blur piramidini besleyen budur.
Gfx Post Processing Aa HdrZorluk 2
Post-process zincirleri neden genelde okudukları hedefe değil, iki render target arasında ('ping-pong') geçiş yaparak yazar?
- aBu, tüm post-process zincirinin kullandığı bellek bant genişliğini yarıya indirir.
- bBu, bir sonraki pass başlamadan önce MSAA resolve'un çalışmasını sağlar.
- cBu, GPU'nun iki pass'i farklı çekirdeklerde paralel çalıştırmasını sağlar.
- dTek bir tekstür genelde aynı GPU komutunda hem girdi hem çıktı olamaz.✓
Açıklama:Tek bir tekstür genelde aynı GPU komutu içinde hem shader girdisi hem render target çıktısı olarak bağlanamaz; iki hedef arasında ping-pong yapmak bu tehlikeyi baştan önler.
Gfx Post Processing Aa HdrZorluk 3
Bir stüdyo, HDR sahne rengi render target'ını 16-bit float RGBA formatından, alpha kanalı olmayan 10/11-bit paketli float bir formata çeviriyor. Doğrudan takas nedir?
- aBant genişliği düşer ve hassasiyet artar, çünkü tüm bitler alpha yerine renge ayrılır.
- bBant genişliği düşer, ama az mantissa biti ve işaret bitsizliği hassasiyeti düşürür.✓
- cBant genişliği artar, çünkü paketli formatlar piksel başına ek dolgu biti gerektirir.
- dNe bant genişliği ne hassasiyet değişir; yalnızca en yüksek parlaklık değeri değişir.
Açıklama:Paketli 10/11-bit float format, 16-bit float'a göre piksel başına depolamayı yarıya indirir, ama her kanalın mantissa'sı küçülür ve formatta işaret biti yoktur; bu yüzden hassasiyet düşer ve yalnızca negatif olmayan değerler saklanabilir.
Gfx Post Processing Aa HdrZorluk 2
HDR post-process zincirinde bloom'un bright-pass eşiği neden genelde tonemap'ten sonra değil önce uygulanır?
- aÖnce uygulamak, tüm zincirin ihtiyaç duyduğu render target sayısını azaltır.
- bBright-pass shader'ı yalnızca 8-bit ara tekstürlerden veri okuyabilir.
- cTonemap'ten önce 1.0 üzeri değerler hâlâ anlamlıdır; sonra kaybolur.✓
- dTonemapping, parlaklığı hesaplamak için gereken kanalları fiziksel olarak kaldırır.
Açıklama:Eşiği lineer HDR veri üzerinde uygulamak, gerçek aşırı-parlaklığı (1.0 üstü değerleri) ayırt etmeyi sağlar; tonemapping her şeyi gösterim aralığına sıkıştırdıktan sonra bu ayrım kaybolur.
Gfx Post Processing Aa HdrZorluk 1
MSAA 'resolve' adımı ne yapar?
- aHer üçgeni ekranda daha yüksek çözünürlükte ikinci kez rasterize eder.
- bPiksel başına saklanan örnek renk değerlerini tek bir değerde birleştirir.✓
- cDerinlik buffer'ını float'tan tam sayı formatına dönüştürür.
- dFragment shader çalışmadan önce tamamen örtülü üçgenleri kaldırır.
Açıklama:Resolve, multisample'lı bir render target'ın her piksel için sakladığı birden fazla örnek renk değerini, sonraki adımlarda kullanılacak tek bir renk değerinde birleştirir.