Birden çok altörneklemenin bir faydası var mı?


14

Bu siteye rastladım ve birinci ve ikinci paragrafta şu satırları görebilirsiniz:

Kaba ama kolay bir etki için, sahnenin parlak kısımlarını (örn. Işık kaynakları) bir FBO'ya çizin , ardından birkaç kez GL_LINEAR minimizasyonu kullanarak altörnekleyin . Son render için orijinal sahneyi altörneklenmiş FBO'lar ile birleştirin.

Aşağıdaki örnekte, orijinal sahne 128 x 128'dir ve 3 kez altörneklenmiştir . Bunun için 4 çerçeve tamponu nesnesi gerekir . Orijinal sahne sol üstte ve son oluşturma sağ üstte gösterilir.

Bir kez alt örneklemek yerine (128 -> 16) birden çok kez alt örneklemem (128 -> 64 -> 32 -> 16) için herhangi bir neden var mı?

Daha fazla aşağı kaydırırsanız, 9 kez de aşağı doğru örnekler. (128 -> ... -> 16 -> 128 -> ... -> 16 -> vb.). Neden beğenmiyorsunuz (128 -> 16 -> 128 -> 16 -> vb.)?


Gerçekten saçma bir yaklaşım. Sadece buffer ve downsample ile GL_NEAREST.
transistör09

Yanıtlar:


23

İki ana avantajı vardır:

İlk olarak, iki faktörden daha fazla örnekleme yaparsanız, orijinal görüntüdeki bazı piksellerin sonuç resmi üzerinde hiçbir etkisi olmaz. Kullanıldığında GL_LINEAR, her hedef piksel kaynak görüntüden yalnızca en fazla 4 pikselden örnekleme yapar; diğer pikseller atılır. İki kat aşağı örnekleme yaparak, kaynak görüntüdeki her pikselin bir sonraki katman üzerinde eşit bir etki bırakmasını sağlarsınız.

İkincisi, bu sitede tartışılan algoritmalar çerçeve tampon nesnelerinin her birini gerektirir; bu şekilde altörnekleme için iyi bir neden olmasa bile aslında hepsi gereklidir. 64x64 veya 32x32 görüntüleri atlayamazsınız, çünkü bu görüntüler gauss bulanıklaştırılmış sonuç görüntüsünü oluşturmanın bir parçası olarak kullanılır.

Son olarak, makaleyi okursanız, altörnekleme görüntülerinin 9 kez savunulmadığını görürsünüz; yalnızca üç kez örnek indirir ve daha sonra bu örnek indirilmiş görüntüler üzerinde birkaç işlem yapar. Baktığınız görüntüler, işlemin her adımından sonra aynı 3 altörneklemeli görüntünün durumunu gösterir, ayrı altörnekleme olayları göstermez.


Ah, bu benim için şimdi çok mantıklı. Teşekkür ederim.
Greffin28

1
(Bu arada, kendi oyunlarımda kullandığım çiçeklenme etkisi, bağlantılı sayfada açıklanan yönteme dayanıyor. Şahsen, çok daha büyük bir başlangıç ​​resminden başladığım, ancak yine de güzel, geniş bir bulanıklık istediğim için 3 yerine 5 kez örnek alıyorum. .)
Trevor Powell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.