Opengl ile 3 boyutlu arazi modellerinin üretimi ve çoklu çözünürlükte sadeleştirilmesi
Generation and level of detail simplification of 3D terrain models using Opengl
Yazar: SELÇUK ŞAŞOĞLU
Danışman: DOÇ. DR. SELMA YÜNCÜ
Gazi Üniversitesi / Fen Bilimleri Enstitüsü / Elektrik-Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2010
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Arazi görüntüleme = Landscape rendering ; Sadeleştirme = Simplification ; Yazılım = Software ; Yazılım programları = Software programs ; Yüzey modelleme = Surface modelling ; Üç boyutlu dinamik sistemler = Three dimensional dynamical systems ; Üç boyutlu modelleme = Three dimensional modelling ; Üç boyutlu teknoloji = Three dimensional technology

Özet:
Bu tez içerisinde bir poligon sadeleştirme yönteminin, 3B arazi üretimi algoritması ile birleştirilmesi ve sadeleştirme performanslarının incelenmesi hedeflenmiştir. Bu hedefin gerçekleştirilebilmesi için ihtiyaç duyulan yazılımın, mimari olarak parçaları tanımlanarak, bu parçaların birbirinden ayrılabilir ancak en iyi performans ve görüntü kalitesi için istenildiği durumda bir araya getirilebilir halde bir framework altında toplanmıştır. Terrain Framework olarak adlandırılan bu framework parçalarının esnekliğinin yanı sıra, günümüz 3B modelleme tekniklerine de destek vermesi sağlanmıştır. Arazi üretiminin sağlanmasında, basitliği ve başarılı sonuçları göz önünde bulundurulan Yükseklik Haritaları (Heightmaps) tekniği kullanılarak, Olağan Izgara (Regular Grid) tipindeki modellerin oluşturulması hedeflenmiştir.Sadeleştirmenin sağlanabilmesi için ise birçok teknik incelendikten sonra, arazi modellerinin sadeleştirmesinde kullanılabilecek ve istenilen kriterlere uygun bir sadeleştirme yöntemi olan İDHM (İkincil Dereceli Hata Metrikleri) ile sadeleştirme (Surface Simplification Using QEM) tekniği seçilmiştir. Garland ve arkadaşları [1], [2] tarafından geliştirilen teknik yazılımsal olarak tekrar tanımlanmış, Garland tarafından hazırlanan kütüphanenin Nesneye Yönelik Programlamaya (Object Oriented Programming) uygun hale getirildikten sonra, bellek kullanımında %50'ye varan performans artışı sağlayacak şekilde tekrar dizayn edilmiştir. Bu özelliklerinin yanında Framework çapındaki modellerin yazılımsal tanımları yapılırken; Framework içerisinde oluşturulan modeller ile istenildiğinde Framework dışında tasarlanmış 3B modellerin aktarıldığı durumlarda aynı çeşit model nesnelerine dönüştürülmesi sağlanmıştır. Bu esneklik sayesinde, framework içerisinde oluşturulan modeller sadeleştirilebildiği gibi, istenildiği durumlarda dışarıdan aktarılacak popüler 3B model formatlarının (3ds, smf, ... vs.) da sadeleştirilebilmesi sağlanmıştır.Terrain Framework'ün yapabileceklerini sınamak amacıyla, parçalar haline arazi üretimi yapabilen ve kamera pozisyonuna göre bu parçaların detay seviyesini değiştiren bir yazılım üretilmiştir.

Abstract:
In this thesis, a research is carried out to combine a polygon simplification algortihm with a 3D terrain generation algorithm and examine the performance results. In order to achieve these results, required software has been deeply analyzed and architectural parts are defined so that all parts may work seperately, but in need of greater performance and rendering quality architectural parts can work as a whole. The resulting software is constructed as a framework which is named as Terrain Framework. Besides the main features of flexibility and extensibility, Terrain Framework is also designed to support modern 3D modelling techniques. For generation of terrain models, heightmaps are used regarding its simplicity and successful results in order to construct Regular Grid models.After detailed studies on simplification, Surface Simplification using Quadric Error Metrics algorithm by Garland et al [1], [2] which is suitable for simplifying terrain models has been chosen. The algorithm has been re-defined as a software and libraries of Garland has been refactored in order to support Object Oriented Programming. As a result, the simplification library has been designed with up to %50 decrease in memory consumption. Among these features, while defining the model objects in the Terrain Framework, both generated and imported terrains are converted to the same object type so that simplification algorithm may run on both terrain types without any difference. With this flexibility Terrain Framework can simplify not only the generated terrain models, but also other 3D terrains models that are stored in popular file formats like 3ds, smf .. etc.In order to test the capabilities of Terrain Framework an application is created. This application can create a terrain that consists multiple terrain parts (models). Detail level of these parts are set according to the position of the camera dynamically in run-time.