Minggu, 18 April 2010

TEKNIK PEMBUATAN GAME 3D SEDERHANA 03

Proyeksi kubus
Sebenarnya kita bisa memproyeksikan sebuah kubus dengan memproyeksikan ke 6 titik sudutnya satu persatu. Tapi langkah ini tidak bisa dilakukan karena akan menyulitkan dalam langkah selanjutnya.

Dalam pemrograman 3D, sebuah object tersusun dari beberapa polygon, dimana tiap polygon tersusun dari beberapa edge (rusuk), dan tiap edge tersusun dari beberapa vertek (titik). Pada object sebuah kubus, yang disebut polygon adalah sisi-sisi dari kubus tersebut.



Proyeksi kubus dilakukan dengan memproyeksikan ke enam sisi/polygonnya satu persatu. Tiap sisi/polygon diperlakukan terpisah, karena tiap polygon akan memiliki bentuk yang berbeda saat di proyeksikan ke layar.



Operasi-operasi pada pemrograman 3D sebagian besar akan berhubungan dengan polygon. Bisa dikatakan polygon adalah bagian utama yang paling banyak mendapatkan perhatian. Dalam proses selanjutnya, kita tidak lagi menggunakan kubus melainkan lebih fokus pada polygon yang membentuknya.

Sebenarnya dalam pemrograman 3D, sebuah polygon biasanya hanya memiliki 3 edge dan 3 vertex, kalau lebih maka polygon itu dibagi menjadi polygon yang lebih kecil sehingga tiap polygon memiliki 3 edge dan tiga vertex. Polygon yang hanya terdiri dari 3 vertex akan menjamin bahwa polygon itu berupa bidang datar dan bersifat cembung/convex.




Polygon yang memiliki lebih dari 3 vertex memiliki kemungkinan untuk bersifat cekung atau tidak datar. Polygon yang bersifat cekung tidak bisa dipakai dalam pemrograman 3D karena akan menimbulkan masalah pada saat pengarsiran dan pemotongan.



Polygon cekung menimbulkan masalah, karena kita harus melakukan proses pewarnaan dan pemotongan dengan menggunakan algoritma. Kalau prosesnya ditangani secara manual mungkin permasalahannya tidak akan muncul. Tapi perlu diingat bahwa kita bekerja dengan menggunakan komputer, sehingga segala sesuatu harus diselesaikan dengan penghitungan dan algoritma.

Polygon yang tidak datar akan menimbulkan masalah karena kita tidak tahu ke arah mana polygon menghadap. Hal ini akan menyulitkan saat akan menghitung pencahayaan, dll.

Dalam pembuatan labyrinth yang sederhana, kita tidak perlu memotong polygon, karena tiap polygon adalah bagian dari kubus yang sudah pasti bersifat datar dan jelas arahnya. Namun demikian dalam pemrograman yang lebih lanjut, polygon yang memiliki lebih dari 3 vertex harus dipotong untuk menghindari permasalahan.

Tidak ada komentar: