dan SSE untuk mengolah komputasi algoritma dan perhitungan matematika. Dengan adanya framework rendering engine tersebut pihak pengembang akan
lebih mudah mengelola dan menjalankan aplikasi berbasis tiga dimensi yang dikembangkannya sesuai dengan yang diharapkan.
3.2. Algoritma Manajemen Scene
Dalam proses rendering algoritma manajemen scene merupakan instrumen yang sangat penting jika ingin menampilkan menampilkan lebih dari ratusan ribu
polygon segitiga yang membentuk obyek-obyek 3D ke dalam layar. Hal ini dikarenakan keterbatasan dari pengolahan yang dapat dilakukan oleh kartu grafis
yang ada saat ini. Algoritma tersebut membantu memilih polygon yang diperlukan terhadap lokasi dan orientasi tertentu dari penonton agar dapat dikeluarkan dari
seluruh anggota ratusan ribu lebih polygon dari scene. Karena kebanyakan dari polygon tersebut tidak terlihat oleh user. Metode algoritma manajemen scene
yang akan digunakan oleh framework rendering engine ini adalah Octree dan BSP Tree.
3.2.1. Algoritma Octree
Octree merupakan salah satu algoritma manajemen scene yang umumnya digunakan untuk area outdoor. Algoritma tersebut akan membagi menjadi 8
kelompok simpul kecil dari kelompok polygon secara rekursif, yang kemudian dapat diuji persimpangannya dan melakukan traversal agar dapat ditampilkan
pada layar. Berikut adalah pembuatan algoritma Octree berdasarkan inputan polygon.
STIKOM SURABAYA
Gambar 3.2 Flowchart Pembuatan Algoritma Octree
Mulai
Load seluruh polygon
Buat obyek Octree
Set Octree menjadi Root
Daftarkan polygon jumlahnya ke dalam
Octree
Kalkulasi Bounding Box Root
Cek apakah jumlah polygon 10
Inisialisasi Child berdasarkan ID dan
Parentnya sebanyak 8 bagian
Proses memisahkan polygon berdasarkan
Bounding Box Child Ya
Rekursif Pembuatan Child Selesai
Tidak
STIKOM SURABAYA
Berikut adalah penjelasan langkah-langkah pembuatan algoritma Octree: 1. Pertama-tama diawali dengan seluruh memuat load seluruh polygon baik
yang berasal dari file atau sumber lainnya data polygon disimpan menjadi pointer array TumozPolygon.
2. Proses selanjutnya adalah membuat obyek Octree yang ditujukan untuk membangun tree baru berdasarkan polygon yang ada.
3. Polygon-polygon yang telah di muat kemudian didaftarkan pada Octree yang baru dibuat dan juga memasukkan jumlahnya sebagai parameter.
4. Octree yang baru dibuat tersebut kemudian dijadikan root simpul akar atau parent simpul induk dari tree diagram pohon. Hal ini dilakukan
agar menjadi acuan bagi semua child simpul anak. 5. Setelah di atur menjadi root, maka dilanjutkan dengan proses
mengkalkulasi bounding box root tersebut. Setiap obyek simpul di dalam Octree harus mengkalkulasikan bounding boxnya menggunakan AABB
agar nanti dapat dikelompokkan berdasarkan posisisnya dan untuk mengetahui ruang lingkup dari tiap simpul.
6. Setelah itu melakukan pemeriksaan jumlah anggota simpul yaitu polygon- polygon yang telah didaftarkan, apabila melebihi batas jumlah yang
ditentukan maka akan dilanjutkan ke proses selanjutnya sistem ini memberikan batas 10 polygon per simpul. Dan jika sebaliknya maka akan
menjadi simpul daun leaf sehingga proses pembuatan child akan diakhiri. 7. Root atau parent akan di bagi menjadi 8 child dan melakukan proses
inisialisasi. Inisialisasi tersebut merupakan proses pemberian ID untuk masing-masing child, lalu mengkalkulasi ulang bounding box berdasarkan
STIKOM SURABAYA
posisinya, serta menyimpan data parentnya. Kedelapan ID atau Posisi dari child tersebut adalah Timur Laut Atas UP_NE, Barat Laut Atas
UP_NW, Tenggara Atas UP_SE, Barat Daya Atas UP_SW, Timur Laut Bawah LW_NE, Barat Laut Bawah LW _NW, Tenggara Bawah
LW _SE, dan Barat Daya Bawah LW _SW. 8. Apabila child telah diinisialisasi maka dilanjutkan dengan proses
memotong atau mengelompokkan polygon-polygon berdasarkan ruang lingkup bounding box dari child tersebut. Setelah selesai maka akan
dilakukan proses rekursif kembali ke langkah ke 6, dan menjadikan child tersebut menjadi root atau parent bagi child dibawahnya secara terus
menerus sampai memenuhi kondisi dimana jumlah polygon tidak melebihi batas yang telah ditentukan yaitu 10 polygon pada langkah ke 6.
3.2.2. Algoritma BSP Tree