Program ini merupakan implementasi algoritma voxelization berbasis octree untuk merepresentasikan objek 3D dalam bentuk voxel dari file .obj.
Program membaca model 3D input, membangun struktur octree secara rekursif, lalu melakukan subdivisi ruang hingga kedalaman tertentu untuk menentukan voxel yang terisi oleh objek. Hasil akhir kemudian dituliskan kembali ke file .obj sehingga dapat divisualisasikan menggunakan viewer 3D.
Program mendukung beberapa file uji seperti cow.obj, line.obj, pumpkin.obj, dan teapot.obj, dengan hasil output tersimpan pada folder test/output.
Program membutuhkan:
- Compiler C++ dengan dukungan C++17
g++make
Gunakan MSYS2 MinGW64/UCRT64, lalu pastikan g++ dan make tersedia:
g++ --version
make --versionInstall package berikut:
sudo apt install build-essentialatau gunakan package manager sesuai sistem operasi masing-masing.
Di root folder project, jalankan:
makePerintah ini akan:
-
membuat folder
binjika belum ada -
membuat folder
test/outputjika belum ada -
mengompilasi source code menjadi executable:
bin/voxelizer.exe(Windows)bin/voxelizer(Linux/macOS)
Untuk membersihkan hasil kompilasi:
make cleanSetelah kompilasi selesai, program dapat dijalankan dengan:
bin\voxelizer.exe./bin/voxelizerKarena target all pada Makefile langsung menjalankan executable, cukup gunakan:
makeFile input .obj diletakkan pada folder:
test/input/Contoh:
test/input/cow.objHasil voxelization otomatis disimpan pada folder:
test/output/Contoh output:
test/output/cow-depth5.obj
test/output/cow-depth6.objNama file output menunjukkan objek dan kedalaman octree yang digunakan.
- Nama: Azam
- NIM: 13524070
- Mata Kuliah: IF2211 Strategi Algoritma
- Institut Teknologi Bandung