LOD, frustum culling ve occlusion culling nedir?

Cevap

Üçü de çizilmesi gerekmeyeni çizmemek veya daha ucuz çizmek için kullanılan tekniklerdir.

Frustum culling

Kameranın görüş hacmi (frustum: near/far düzlemleri ve dört yan düzlemle sınırlı kesik piramit) dışında kalan nesneler çizilmez. Genellikle nesnelerin bounding box'ı frustum düzlemleriyle test edilir. Unity bunu otomatik yapar.

Occlusion culling

Kamera görüş alanında olsa bile başka nesnelerin arkasında kalan (ör. duvarın arkasındaki oda) nesneler çizilmez. Unity'de görünürlük verisi editörde önceden hesaplanır (bake); statik nesneler occluder/occludee olarak işaretlenir. Şehir, iç mekân gibi kapalı sahnelerde büyük kazanç sağlar, açık arazide faydası azdır. Bake verisi bellek ve CPU maliyeti getirir.

LOD (Level of Detail)

Nesne kameradan uzaklaştıkça daha düşük poligonlu modeller kullanılır. Unity'de LOD Group bileşeni ekranda kapladığı alana göre geçiş yapar:

SeviyeEkran oranıÖrnek üçgen sayısı
LOD0%60 üstü20.000
LOD1%30 - %608.000
LOD2%10 - %302.000
Culled%10 altıÇizilmez
  • Geçişlerde "pop" efekti olmaması için cross-fade veya dithering kullanılır.
  • Çok uzaktaki nesneler için impostor/billboard (düz bir kartta ön render'lanmış görüntü) kullanılabilir.

Ek olarak kameranın far clip plane değerini gereksiz büyük tutmamak ve sis ile uzak mesafeyi gizlemek de yaygın pratiktir.

  1. Forward ve deferred rendering arasındaki fark nedir? Hangisi ne zaman tercih edilir?ZorGrafik & RenderGame Dev
  2. Draw call nedir? Batching teknikleri ile draw call sayısı nasıl azaltılır?OrtaGrafik & RenderGame Dev
  3. Rendering pipeline nasıl işler? Vertex shader ile fragment shader arasındaki fark nedir?OrtaGrafik & 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