dan dimasukkan ke dalam daftar polygon dari child front. Dan sebaliknya jika hasilnya negatif maka polygon tersebut dimasukkan ke dalam daftar
polygon dari child back. Setelah proses klasifikasi dan pendaftaran polygon selesai maka masing-masing child front dan back akan melakukan
proses rekursif kembali ke langkah ke 5, dan menjadikan child tersebut menjadi parent bagi child dibawahnya secara terus menerus sampai
memenuhi kondisi tidak menemukan splitter terbaik pada langkah ke 5.
3.3. Perancangan Sistem
Berdasarkan analisa identifikasi permasalahan yang telah dilakukan sebelumnya bahwa Framework rendering engine ini dibangun menggunakan API
Direct3D dari Microsoft DirectX SDK dan diprogram dengan bahasa pemrograman C++. Sedangkan desain sistemnya menggunakan UML dan
flowchart pada masing-masing fungsi framework. Garis besar desain sistem rancang bangun yang akan dibuat digambarkan seperti gambar di bawah ini:
Aplikasi Berbasis 3D Static Library
Tumoz3D.lib untuk Matematika
Algoritma 3D Static Library
TumozGeneral.lib untuk Kontrol Pergerakan,
Kamera dsb
Static Library TumozRenderer.lib
untuk interface Sistem Rendering
Dynamic Library TumozD3D.dll untuk
implementasi Sistem Rendering
Render Interface Buat Obyek
Beri Device
Load Implemen
Gunakan Gunakan
Gunakan
Gunakan Gunakan
Gambar 3.4. Gambaran Umum Rancang Bangun Sistem
STIKOM SURABAYA
Pada gambar diatas sistem dijelaskan menjadi beberapa tahapan sebagai berikut:
1. Pihak developer yang mengembangkan aplikasi berbasis 3D dapat menggunakan tiga library yang disediakan dari framework ini antara lain
TumozRenderer.lib, Tumoz3D.lib, dan TumozGeneral.lib. 2. Aplikasi pengembangan membuat obyek dari TumozRenderer.lib sebagai
library utama untuk menjalankan engine. Kemudian aplikasi tersebut memberikan permintaan device yang dibutuhkan berdasarkan API.
3. TumozRenderer.lib berfungsi sebagai interface dan class abstrak sedangkan fungsi-fungsi utama rendering engine dalam melakukan
komunikasi dengan API berada didalam TumozD3D.dll. Dengan demikian ketika obyek dibuat pada aplikasi pengembangan secara otomatis
TumozRenderer.lib memuat load TumozD3D.dll. 4. TumozD3D.dll melakukan implementasi pada obyek Render Device
sehingga fungsi-fungsinya dapat digunakan oleh aplikasi pengembangan. Tugas dari render device tersebut antara lain insialisasi rendering,
menentukan resolusi, penggunaan shader, melakukan proses-proses yang dibutuhkan pada tahapan rendering pipeline, dan sebagainya.
5. TumozRenderer.lib dan TumozD3D.dll juga berisi 2 obyek engine tambahan yaitu TumozSkinManager dan TumozVertexCacheManager.
TumozSkinManager berfungsi untuk mengelola penggunaan warna, material dan tekstur berdasarkan implementasi pada API. Sedangkan
TumozVertexCacheManager berfungsi sebagai manajemen verteks dan indeks buffer dalam melakukan proses rendering.
STIKOM SURABAYA
6. Aplikasi pengembangan dapat menggunakan class-class didalam Tumoz3D.lib yang terpisah dari TumozRenderer.lib. Class-class tersebut
merupakan perhitungan matematika dan algoritma yang diperlukan untuk mengembangkan aplikasi berbasis 3D.
7. Selain Tumoz3D.lib aplikasi pengembangan juga dapat menggunakan library TumozGeneral.lib yang berisi class dan fungsi untuk manajemen
scene, kontrol pergerakan dan informasi yang dibutuhkan dalam proses rendering.
8. TumozD3D.dll juga
menggunakan library
Tumoz3D.lib dan
TumozGeneral.lib dalam melakukan perhitungan matematika dan algoritma serta fungsi-fungsi yang diperlukan lainnya untuk memproses
dan menjalankan sistem rendering engine.
3.4. Class Diagram