Proses Rendering 3D Dalam Game Oleh Muhammad Maulana Ramadhan

Kita mungkin sering menganggap bahwa game-game 3D yang beredar di pasar berisi gambar-gambar yang benar-benar 3D. Apakah itu benar? Di artikel ini kita akan membahas trik dan rahasia dibalik gambar 3D yang ada di dalam game yang sering kita mainkan.

Seperti yang dijelaskan di awal, binusian yang masih awam dengan proses rendering di computer akan menyangka bahwa gambar atau lebih tepatnya model 3D yang ada di game itu benar-benar 3D. Tetapi sebenarnya tidak seperti itu. Perhatikan gambar dibawah

Gambar 1 Tampilan file 3D dilihat pada Notepad. Diambil dari : https://www.youtube.com/watch?v=cvcAjgMUPUA&t=252s

 

Gambar 1 menampilkan isi dari file yang berisi model 3D. Pada gambar 1, v adalah singkatan dari vertex atau titik pada model 3D. Isi dari file tersebut adalah koordinat x,y dan z tiap vertex serta informasi koordinat lainnya sehingga jika koordinat itu diproses oleh computer akan muncul objek 3D di layar.

Tetapi sebenarnya itu hanya dari segi penyimpanannya, Ketika ditampilkan di layar gambar 3D tadi akan menjadi gambar 2D. Disini muncul pertanyaan, mengapa menjadi 2D padahal dari segi animasi kita bisa melihat volume dan ada kesan bahwa benda yang tampil di layar adalah benda 3D.

 

 

 

Triknya ada di bagaimana si computer ini menampilkan gambar 3D. Gambar 3D yang ditampilkan sebenarnya sudah di-cut, di tampilkan hanya sebatas view frustum. View frustum dapat kita umpamakan sebagai batas monitor dan diluar batas ini tidak ada yang bisa ditampilkan kecuali, si batas ini bergerak atau objek di hadapan batas ini bergerak. Tidak hanya sampai disitu, data yang ada di file sebelumnya akan di transformasikan sehingga tampak “flat” dan dapat kita tampilkan di monitor. Ingat walaupun benda yang ditampilkan 3D (X,Y,Z), monitor kita hanya mampu menampilkan dalam format 2D (X,Y).

Gambar 2 Analogi view frustum, kita bisa menganggap view frustum sebagai kamera. Diambil dari : https://www.youtube.com/watch?v=cvcAjgMUPUA&t=252s

 

Disini kita juga bisa menduga, mungkin inilah yang membuat game-game 3D ini haus akan daya komputasi dan tak jarang butuh kartu grafis yang mahal dan canggih untuk memainkan game ini dalam setting grafis yang tinggi. Mengapa? Game 3D dengan setting grafis tertinggi akan menggunakan file 3D yang juga memiliki vertex yang banyak. Dan jika banyak vertex yang perlu di transformasikan maka daya komputasi yang dibutuhkan pun semakin besar.

Oh iya Binusian, transformasi yang disebutkan di artikel ini erat sekali kaitannya dengan matriks dan aljabar linier. Bagi binusian yang tidak suka matakuliah atau topik aljabar linier tetapi suka dengan grafis, shading dan rendering algorithm mungkin sebaiknya mulai menyukai matakuliah yang ada topik aljabar linier.