ATI’nin Uygunlaştırılmış Doku Süzgeci İfade Vermeye Çağrıldı

Çerçöpeşleme (mipmapping)

Çevirenin notu: mip=multum in parvo (Latin)=küçük yerdeki küçük şeyler

Burada tartıştığımız doku süzmesi farklı çerçöpeşleme düzeyleriyle ilişkili. Çerçöpeşleme aynı dokunun, farklı yerlerde farklı boyutlarda kullanılabilmesi ile ilgili bir konu. Yer döşemelerinin ufka kadar uzandığı bir koridorda ayakta durduğunuzu düşleyin. Gerçekçi bir izlenim yaratabilmek için size yakın döşemenin çok ayrıntılı görünmesi gerekli. Bunun yanında ufka doğru gittikçe doku giderek küçülüyor – en sonunda dokuyu oluşturan birkaç çer çöp nokta kalana kadar. Karoların arasındaki dolgular gibi ayrıntılar boyutlandırma nedeniyle git gide kayboluyor, çünkü görüntü kartı dokudaki hangi ayrıntıların önemli olduğunu bilemiyor.

Çerçöpeşleme görüntü kalitesini, derinlik artışıyla dokunun yarı boyutuna inmesi durumunda, yan yana gelenleri bitiştik halde eşleştirerek (juxtaposing) artırıyor. Bu bir eşleme düzeyinden diğerine geçiş olayı veya diğer adıyla basamaklandırma, Doku Ayrıntı Düzeyi (Texture Level Of Detail) tarafından komuta ediliyor.

Aynı dokunun farklı büyüklükteki örnekleri.

Aynı dokunun farklı büyüklükteki örnekleri.

Ekranın iki yarısı da iki yollu süzülmüş görüntüyü gösteriyor. Sol tarafta, farklı çerçöpeşleme düzeylerini görünür kıldık. Buradaki bir eşleme düzeyinden diğerine geçişte görüntünün birleştiği yerdeki, ikiyollu eşlemeden doğan şeridi görebilirsiniz.

Ekranın iki yarısı da iki yollu süzülmüş görüntüyü gösteriyor. Sol tarafta, farklı çerçöpeşleme düzeylerini görünür kıldık. Buradaki bir eşleme düzeyinden diğerine geçişte görüntünün birleştiği yerdeki, ikiyollu eşlemeden doğan şeridi görebilirsiniz.

Ama temiz bir sonuç için sadece çerçöpeşlemeden daha fazlaya gereksinim var, çünkü dokunun prespektifinin de ufka doğru gidildikçe değişmesi gerekiyor, yani sizden uzaklaştıkça dokunun git gide daha fazla küçülmesi gerekiyor. Özel bir doku süzgeci kullanmadan (nokta örnekleme, point sampling), çok fazla noktalaşmış (pixelated) bir görüntü oluşuyor. Yeniden biraz önce verdiğimiz koridor örneğini anımsayın. Gözlemciden olan uzaklık arttıkça, yatayda çok daha az nokta kalıyor, çünkü koridor ekranın altından ufkun merkezine doğru git gide daralarak bir noktaya yakınsıyor.

Burada demin verdiğimiz koridor örneğine benzer bir gerçek oyun sahnesi. Perspektif yüzünden farklı bir ölçeklendirmenin gerektiğini görebilirsiniz.

Burada demin verdiğimiz koridor örneğine benzer bir gerçek oyun sahnesi. Perspektif yüzünden farklı bir ölçeklendirmenin gerektiğini görebilirsiniz.

Yazının sonraki bölümünde çerçöpeşlemenin, ölçeklendirme (scaling) nedeniyle oluşan noktalaşma (pixelating) ile nasıl etkileştiğini göstereceğiz. Biz burada 3DMark 2003’ün (Pro sürümü) doku süzme sınamasını, durumu canlandırmak için kullandık:

Soldaki kısım çerçöpeşlemesiz. Buradaki ekrandan yakalanmış görüntünün daha keskin olduğunu düşünebilirsiniz. Öyle de ama eşleme olmadan tüm dokular çok fazla parazit eşliğinde titreşiyorlar - bu sahne hareketliyken gerçekten felaket kötü görünüyor. Siz bunu evinizde Q3 motoru kullanan tüm oyunlarla deneyebilirsiniz. r_textureMode'u "GL_LINEAR"a ayarlayarak doğrusal (linear) süzmeli çerçöpeşlemeyi kapatın, GL_NEAREST ise nokta örneklemeli (point sampling) çerçöpeşleme için.

Soldaki kısım çerçöpeşlemesiz. Buradaki ekrandan yakalanmış görüntünün daha keskin olduğunu düşünebilirsiniz. Öyle de ama eşleme olmadan tüm dokular çok fazla parazit eşliğinde titreşiyorlar – bu sahne hareketliyken gerçekten felaket kötü görünüyor. Siz bunu evinizde Q3 motoru kullanan tüm oyunlarla deneyebilirsiniz. r_textureMode’u “GL_LINEAR”a ayarlayarak doğrusal (linear) süzmeli çerçöpeşlemeyi kapatın, GL_NEAREST ise nokta örneklemeli (point sampling) çerçöpeşleme için.

Çerçöpeşlemeye ilişkin birşeyi unutumayalım ki, dokuların eksiksiz olarak bulunması gerekmiyor. Çağdaş görüntü kartları küçültülmüş çerçöpeşlemeli dokuları, temel dokuları kullanarak kendileri yaratabiliyorlar.

Bir cevap yazın