Mipmap nedir? Ne gibi faydaları ve maliyetleri vardır?

Cevap

Mipmap, bir texture'ın her seviyede yarı boyutta olan önceden küçültülmüş kopyalarından oluşan zincirdir (ör. 1024 → 512 → 256 → ... → 1). GPU, ekranda texture'ın kapladığı alana göre uygun seviyeyi seçer; uzaktaki bir nesne için küçük mip okunur.

Faydaları:

  • Aliasing ve titreşimi (shimmering) önler: Uzaktaki yüksek çözünürlüklü texture'dan seyrek örnekleme yapmak kumlanma ve moire desenleri oluşturur; küçük mip zaten filtrelenmiş ortalamadır.
  • Performans: Küçük mip'ler texture cache'e sığar, bellek bant genişliği azalır.
  • Texture streaming: Uzaktaki nesneler için sadece düşük mip'ler belleğe yüklenir (Unity Mipmap Streaming, Unreal texture streaming).

Maliyeti: Texture belleğini yaklaşık %33 artırır (1 + 1/4 + 1/16 + ... = 4/3).

Filtreleme ile ilişkisi:

FiltreDavranış
PointMip içinde en yakın texel, keskin ama tırtıklı
BilinearTek mip içinde 4 texel karışımı; mip geçişleri görünebilir
Trilinearİki mip seviyesi arasında da karışım
AnisotropicEğik açılı yüzeylerde (zemin, yol) netliği korur

Mipmap kapatılması gereken durumlar: Ekran boyutunda çizilen UI ve 2D sprite'lar (her zaman aynı boyutta görünüyorsa), pixel-art oyunlar, lookup texture'ları. Bu durumlarda mipmap gereksiz bellek harcar veya istenmeyen bulanıklık yaratır. Texture boyutlarının ikinin kuvveti olması mip zinciri ve sıkıştırma için tercih edilir.

  1. Forward ve deferred rendering arasındaki fark nedir? Hangisi ne zaman tercih edilir?ZorGrafik & RenderGame Dev
  2. LOD, frustum culling ve occlusion culling nedir?KolayGrafik & RenderGame Dev
  3. Draw call nedir? Batching teknikleri ile draw call sayısı nasıl azaltılır?OrtaGrafik & RenderGame Dev
  4. Rendering pipeline nasıl işler? Vertex shader ile fragment shader arasındaki fark nedir?OrtaGrafik & RenderGame Dev
  5. Texture sıkıştırma neden gereklidir? ASTC, BC ve ETC2 formatları arasındaki fark nedir?OrtaGrafik & RenderGame Dev
  6. Overdraw nedir? Neden performans sorunu yaratır ve nasıl azaltılır?KolayGrafik & RenderGame Dev

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle