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:
| Filtre | Davranış |
|---|---|
| Point | Mip içinde en yakın texel, keskin ama tırtıklı |
| Bilinear | Tek mip içinde 4 texel karışımı; mip geçişleri görünebilir |
| Trilinear | İki mip seviyesi arasında da karışım |
| Anisotropic | Eğ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.
İlgili Grafik & Render soruları
- Forward ve deferred rendering arasındaki fark nedir? Hangisi ne zaman tercih edilir?
- LOD, frustum culling ve occlusion culling nedir?
- Draw call nedir? Batching teknikleri ile draw call sayısı nasıl azaltılır?
- Rendering pipeline nasıl işler? Vertex shader ile fragment shader arasındaki fark nedir?
- Texture sıkıştırma neden gereklidir? ASTC, BC ve ETC2 formatları arasındaki fark nedir?
- Overdraw nedir? Neden performans sorunu yaratır ve nasıl azaltılır?
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.