Tesellation Nedir ?


Bilgisayar grafiği sahasında, çokgenlerden oluşan veri kümelerinin idaresi ve onların rendering için kullanışlı yapılara bölünmesi için sık sık tesellation(tesselasyon) teknikleri kullanılır. Normalde, en azından gerçek zamanlı renderingde, görüntüyü oluşturan verilerin üçgenler halinde döşeme yapılır, bu işleme bazen üçgenleme denir. Tesselasyon, bilgisayar grafikleme arayüzlerinden DirectX 11 ve OpenGL‘nin temel özelliğidir. Kısaca mozaik parçalara ayırma ve döşeme diyebiliriz.
Üç boyutlu  herhangi bir uygulamada ya da oyunda görebileceğiniz nesneler birbiri ile bağlantılı olan minyatür çokgenlerden oluşuyor. Bu çokgenlere poligon adı veriliyor. Poligonların sayısı arttıkça ekranda gördüğümüz görüntü detayı artıyor, uygulandığı yere göre gerçeğe yakın derinlik ve kabarma görüntüsü sağlıyor. Bu sayede gerçeğe daha yakın görüntüler elde edilebiliyor. 

polygon-count-diminishing-returns-consoles
Bu örnekte bir insan figürünün üçgen sayısına bağlı olarak detay artışını görüyoruz.

polygonsss
Bu örnekte tesellation(tesselasyon) tekniği ile 1000 poligonlu bir modelleme 430.000 poligona çıkartılıyor.

 
 
 
 
 
 
 
Mozaik parçalarına ayırma ve döşeme yani tesellation işleminin başarılı bir şekilde yapılabilmesi için grafik motorunun nesnenin kaplaması haricinde displacement map denilen kaplamanın piksel değişim haritasına ihtiyacı var. Bu harita elle çizilebilir yada daha başarılı sonuçlar alabilmek için kaplama üzerinden belirli tekniklerle çıkarılabilir. Bu işlemi bozuk paranın üzerine bir adet temiz kağıt koyup paranın üzerini karalayarak görseli kağıda aktarmaya benzetebiliriz. Aşağıda da bu haritaların birkaç örneğini göreceksiniz.


Kaplamanın piksel değişim haritasına da sahip olduktan sonra geriye kalan en önemli adım bunları birleştirmek. Bu noktada grafik motoru devreye giriyor ve ekran kartı desteği ile önce ham çizilmiş nesnenin poligon sayısı arttırarak akışkan gerçekçi bir görünüm elde ediyor ardından displacement map kullanarak poligon sayısınını daha da arttırıyor ve gerçekçilik kazandırıyor. Gerçekleştirilen bu işlem oldukça fazla matematiksel hesap gerektiriyor ve özellikle ekran kartını fazlasıyla zorluyor. Oyunlarda karşılaştığımız tesellation ayarı da buradan geliyor.
coarse_model
 

Tesellation AÇIK/KAPALI Örnek Görseller


 
 

Serhat Yücel
Bahçeşehir Üniversitesi yazılım mühendisliği bölümünde 3.sınıf öğrencisiyim. IBM Türkiye'de öğrenci elçisi olarak görev almaktayım. Yazılım benim için bir işten öte, tutku. Şu anda kendi tarayıcı oyunumu yazmakla uğraşıyorum.

0 Yorum

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir