Volume 10 No : 1
ISSN Nomor : 1412-9434
2011
JURNAL ILMIAH
KOMPUTASI Komputer & Sistem Informasi 1-6 Aplikasi Ticketing Helpdesk Kantor Dengan PHP dan MySql Moh. Saefudin 7-18 Bometrik : Pengenalan Individu Berdasarkan Warna Pupil Iris Mata Sarifuddin Madenda, Ramadona Nilawati, Karmilasari
19-26 Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak NIOS II Sunny Arief Sudiro, Dhany Bahariawan Hidayat dan Nurmalasari 27-34 Stopwatch Digital Nenny Anggraini 35-46 Aplikasi Perhitungan Bangun Matematika pada Operating System Berbasis Mobile Ristyawati, Wratsongko Giri P. 47-57 Rancang Bangun Sistem Informasi Akademik denganMenggunakan Short Message Service (SMS) Desy Diana, Munich Heindari Ekasari 58-63 Studi tentang Cube Mapping untuk Pemetaan Tekstur pada Objek 3D Bheta Agus Wardijono
STMIK JAKARTA STI&K
Vol.10, Nomor:1 Juni 2011
PENGASUH
JURNAL ILMIAH
JURNAL ILMIAH KOMPUTASI
KOMPUTASI
Pelindung: Prof. ES. Margianti, SE., MM Prof. Suryadi H.S., SSi., MM Drs. Agus Sumin, MMSI
Komputer & Sistem Informasi
DAFTAR ISI
Penanggung Jawab: Prof. Dr. Sarifuddin Madenda
Dewan Redaksi/Reviewer: 1. 2. 3. 4. 5. 6. 7. 8.
Prof. Dr. Didin Mukhodim Drs. Tjahjo Dwinurti T., MM Prof. Dr. Sarifuddin Madenda Dr. Lussiana ETP Hj. Latifah, SSi., MMSI Rosalina Lokolo, SE., MM Eko Hadiyanto, SSi., MMSI Dr. Pipit Dewi Arnesia
1-6 Aplikasi Ticketing Helpdesk Kantor Dengan PHP dan MySql Moh. Saefudin 7-18 Bometrik : Pengenalan Individu Berdasarkan Warna Pupil Iris Mata Sarifuddin Madenda, Ramadona Nilawati, Karmilasari
Pimpinan Pelaksana Redaksi : Ire Puspa Wardhani, SKom., MM
Editor dan Layout: 1. Dr. Sunny Arief Sudiro 2. Dr. Bheta Agus Wardijono 3. Yudi Irawan Chandra, SKom., MMSI
Sekretariat Redaksi 1. Sahni Damerianta P, SKom., MMSI (Koordinator) 2. Don Elsyafitra, SKom (Pj. Web) 3. Maria Sri Wulandari, (Pj. Adm)
Adm dan Sirkulasi : 1. Edi Pranoto, SE., MM 2. Fitri Sjafrina, SKom., MMSI 3. Sunarto Usna, Drs., MMSI
Alamat Redaksi : Kampus STMIK Jakarta STI&K Jln. BRI Radio Dalam Kebayoran Baru Jakarta Selatan Telp. (021) 7397973, 7210722 Fax. (021) 7210720 Email : info@ stmik-jakarta.ac.id
ISSN Nomor 1412-9434 Volume 10 Nomor 1 Tahun 2011
Redaksi menerima sumbangan naskah berupa artikel, hasil penelitian, atau karya ilmiah yang belum pernah dan tidak akan dipublikasikan di media lain. Naskah sudah diterima redaksi selambat-lambatnya tanggal 10 sebelum bulan penerbitan.
19-26 Arsitektur Mikroprosesor Berbasiskan Perangkat Lunak NIOS II Sunny Arief Sudiro, Dhany Bahariawan Hidayat dan Nurmalasari 27-34 Stopwatch Digital Nenny Anggraini 35-46 Aplikasi Perhitungan Bangun Matematika pada Operating System Berbasis Mobile Ristyawati, Wratsongko Giri P. 47-57 Rancang Bangun Sistem Informasi Akademik denganMenggunakan Short Message Service (SMS) Desy Diana, Munich Heindari Ekasari 58-64 Studi tentang Cube Mapping untuk Pemetaan Tekstur pada Objek 3D Bheta Agus Wardijono
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Studi tentang
Cube Mapping untuk Pemetaan Tekstur pada Objek 3D
Bheta Agus Wardijono
STMIK Jakarta STI&K
[email protected] Abstract
Tulisan ini menjelaskang studi tentang teknik-teknik Cube Mapping yang telah diteliti oleh peneliti sebelumnya. Cube Mapping merupakan Environment Mappin g, selain Spherical Mapping dan Parabolic Mapping, yaitu suatu teknik pemberian tekstur pada suatu model 3D. Cube Mapping yang merupakan bagian dari Environment Mapping dengan memproyeksikan lingkungan sekitar melalui enam buah gambar yang berbeda kedalam enam sisi kubus dan disimpan sebagai enam tekstur persegi. Teknik Cube Mapping memiliki kelebihan dibandingkan dengan teknik mapping yang lainnya dalam hal kemampuan memberikan data visual yang baik untuk membuat reeksi pada setiap permukaan sudut. Disamping itu teknik cube mapping dapat menghasilkan background yang realistik untuk suatu virtual environment. Kata Kunci: Cube Mapping, Texture, Model 3D
1 Pendahuluan Dalam komputer grak, mapping adalah merupakan cara untuk memetakan tekstur ke dalam objek. Teknik-teknik mapping secara umum dinamakan dengan texture mapping, yaitu suatu metode untuk menambahkan detail, tekstur permukaan (bitmap atau raster image), atau warna untuk model komputer yang dihasilkan gras atau 3D. Pemberian texture adalah merupakan upaya untuk mendapatkan efek realitas pada objek 3D. Gambar 1 adalah contoh objek yang belum mendapatkan texture dan sudah diberi tekstur. Selain penambahan texture, adanya efek pencahayaan akan menambah realistis dari objek 3D. Dengan demikinan metode penambahan texture perlu ditambahkan dengan metode pencahayaan. Secara umum, metode yang telah dikembangkan untuk menambahkan efek texture berikut dengan pencahayaannya adalah dengan reection mapping. Reection Mapping adalah merupakan suatu cara yang esien pencahayaan berdasarkan gambar (image-based lighting ) untuk mendekati penampilan suatu reektif/pemantulan dari permukaan melalui penghitungan/penerapan gambar
tekstur. Tekstur digunakan untuk menyimpan citra dari sekitar objek yang diberikan.
Figure 1: Objek yang tanpa textur (1) dan Objek yang bertekstur (2)
Pemanfaatan teknik environment mapping dalam Komputer grak mampu melakukan hal tersebut efek relistis pada objek 3D. Environment mapping melakukan reeksi lingkungan sekitar pada suatu objek sehingga dihasilkan suatu animasi yang terlihat realistis. Pada Environent Mapping terbagi menjadi 3 metode, yaitu
58
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Sphere Mapping, Paraboloid Mapping dan Cube terbalik, karena apa yang ingin dilakukan (yaitu Mapping. Cube Mapping yang merupakan salah dengan forward mapping) adalah untuk menyalin satu teknik dari environment mapping merep- warna dalam gambar tekstur ke pixmap, namun resentasikan lingkungan sekitarnya dengan cara memetakan enam buah gambar 2 dimensi pada enam sisi objek (kubus).
2 Dasar Teori 2.1
Texture Mapping
Penjelasan matematis dari texture map adalah dengan menggunakan forward mapping, dimana koordinat image (u,v) pada suatu image input dipetakan ke koordinat (x,y) pada suatu image output melalui suatu sepasang fungsi
x − X(u, v), y − Y (u, v), dan dapat diiversikan dengan mendenisikan fungsi-fungsi
u − U (x, y), v − V (x, y), sehingga dapat dikatakan bahwa U dan V telah menginversikan peta dari X dan Y melalui:
sebaliknya dimulai dengan pixel di pixmap dan kemudian menentukan apa warna dalam peta gambar tekstur untuk itu. Raytracer ini memberikan bagian dari peta terbalik invers map yang berlangsung dari pixmap pixel ke titik pada model. Ada beberapa cara untuk memasok sisa invers peta dari titik pada model ke peta tekstur. Yang paling populer ada dua adalah: 1. Melalui Parameterize permukaan sehingga dapat dihitung (u; v) dari titik x. 2. Untuk permukaan poligonal, memiliki cara untuk menciptakan model permukaan pada koordinat tekstur eksplisit (ui , vi ) untuk setiap vertex i ke dalam model. Kemudian menghitung (u,v ) dengan interpolasi tekstur koordinat dekatnya simpul. Gambar 2 berikut memperlihatkan mekanisme pemberian texture seperti yang telah diuraikan sebelumnya.
u − U [X(u, v), Y (u, v)], v − V [X(u, v), Y (u, v)], Persamaan tersebut memungkinkan suatu algoritma inverse mapping, dimana dapat memenuhi suatu warna output untuk setiap piksel output. f o r ( x =0; for (y u v
x <= xmax ; x += Dx) = 0 ; y <= ymax ; y += Dy) { = U( x ; y ) ; = V (x ; y ); Out [ x ] [ y ] = I n [ u ] [ [ v ] ;
}
Untuk mencari solusi texture map idenya adalah disediakan pemetaan antara model dan gambar tekstur, sehingga dimanapun suatu sinar (ray ) mengenai model, maka dapat dipulihkan koordinat tekstur yang memberitahu dimana untuk menempatkan gambar tekstur untuk mendapatkan warna titik pada model. Warna tekstur kemudian digunakan dalam shader untuk memberikan warna bagi pixel di pixmap tempat berasalnya sinar. Hal yang harus diperhatikan adalah bahwa sebenarnya hal yang dilakukan merupakan peta
Figure 2: Proses
2.2
Texture Mapping
Environment Maping
Teknik environment mapping pertama kali diperkenalkan ke gras komputer oleh Blinn dan Newell (1976). Metode ini adalah untuk meningkatkan obyek dengan reeksi tanpa secara eksplisit melacak sinar sekunder. Hal ini dilakukan dengan memproyeksikan lingkungan 3D ke peta lingkungan 2D yang mengelilingi obyek.
59
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Dengan demikian Envinronment Mapping merupakan sebuah teknik dalam computer grak untuk mensimulasikan suatu objek agar dapat mereeksikan lingkungan sekitarnya. Gambar 3 memperlihatkan suatu objek, posisi mata, dan tekstur cube map yang menangkap lingkungan sekitar objek. Gambar tersebut tentu saja, menggambarkan scene 3D di dalam 2D, dimana objek tersebut diperlihatkan suatu trapesium dan lingkungan ditampilkan sebagai daerah sekitarnya, daripada suatu kubus yang sebenarnya.
Model ini secara sik tidak benar, karena dibuat dengan memanfaatkan beberapa penyederhanaan. Namun demikian, hal ini sederhana dan memiliki kualitas yang cukup baik untuk sebagian besar aplikasi gras.
Figure 4: Reeksi dalam [2]
Environment Mapping
3 Pembahasan Figure 3: Environment Maps
Objek yang disimulasikan biasanya memiliki permukaan reektif seperti air atau logam. Environment mapping merupakan satu tahapan pemberian tekstur dimana dilakukan untuk menghasilkan objek yang sangat nyata. Konsep dari environment mapping cukup sederhana yaitu sebuah peta tekstur biasa yang digunakan untuk mengkodekan reeksi untuk objek tertentu. Environment mapping secara konsep dibagi menjadi 3 bagian yaitu sphere mappin g, paraboloid mapping, dan cube mapping. Terdapat berbagai jenis permukaan (kayu, plastik, dan lain-lain) dengan berbagai jenis sifat reeksi, maka harus diperhitungkan sifat-sifat refreksi ini saat membuat suatu pemetaan lingkungan (environment mapping ) [2]. Sifat reeksi dapat dibagi menjadi tiga parameter: difus ( diuse ), mengkilap (glossy ) dan cermin (mirror ). Gambar 4 berikut ini memperlihatkan efek reeksi pada
3.1
Tentang
Cube Mapping
Semua GPU (Graphical Processing Unit ) terbaru mendukung jenis penggunaan tekstur cube map. Sebuah cube map terdiri dari tidak satu, tapi enam gambar tekstur persegi yang cocok sama seperti wajah kubus. Secara bersama-sama, enam gambar membentuk gambar omnidirectional yang digunakan untuk mengkodekan lingkungan peta. Gambar 5 berikut memperlihatkan contoh cube map yang mengcapture suatu lingkungan yang meliputi awan, langit dan pegunungan.
environment mapping.
Untuk permukaan metalik istilah Fresnel dapat digunakan. Semua sifat tersebut diterapkan pada pemetaan lingkungan dalam tahap preltering. Untuk permukaan mengkilap ( glossy ) dapat dijelaskan dengan menggunakan model Phong.
Figure 5: Tekstur Image pada suatu Cube Map
60
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Dalam sebagian besar kasus, pemetaan kubus (cube mapping ) lebih disukai daripada metode yang lebih terdahulu yaitu pemetaan lingkup (sphere mapping ) karena menghilangkan banyak masalah yang melekat dalam shpere map seperti distorsi gambar, ketergantungan sudut pandang, dan inesiensi komputasi. Juga, cube mapping menyediakan kapasitas yang lebih besar untuk mendukung real-time rendering reeksi relatif terhadap sphere maping karena kombinasi dari inesiensi dan ketergantungan sudut pandang sangat membatasi kemampuan sphere mapping yang akan diterapkan ketika ada sudut pandang yang konsisten berubah. 3.2
Pengembangan
Cube Mapping
Dari teknik cube mapping yang ada, terdapat sejumlah penelitian yang mengembangkan teknik ini, antara lain: continuous cube mapping [4], polycube mapping [5, 1] dan ellipsoidal cube mapping [3]. Penelitian-penelitian ini meningkatkan pemetaan cube mapping untuk sejumlah keperluan, antara lain penyempurnaan keakuratan tekstur pada bentuk-bentuk lengkungan suatu objek, mengurangi distorsi pada daerah batasan, serta pemetaan pada lingkungan planetary terrain. 3.2.1
Continuous Cube Mapping
Continuous cube map diperkenalkan untuk
menawarkan parameterisasi penyempurnaan dari tekstur sekitarnya sementara hanya membutuhkan peningkatan minimal dalam perhitungan waktu [4]. Continuous cube map menggabungkan konsep dasar sphere map dan cube map saat mengeluarkan ketidakakuratan mereka. Ide dasarnya adalah untuk melipat kubus kedalam bola. Hasilnya adalah bola dibagi menjadi enam face, yang mana masing-masing dibatasi oleh sebuah lingkaran besar, sehingga menghasilkan lebih baik parameterisasi dari kubus. Seperti dalam cube map, vektor tercermin akan berpotongan salah satu dari enam face dari bola, sehingga menggunakan penerapan tekstur pada face. Ini adalah continuous map, berarti parameterisasi yang dari satu face dapat diperpanjang ke setiap face yang berdekatan. Hal ini membuat metode ini pilihan yang lebih baik untuk menangkap dan memanipulasi data yang bulat.
(a)
(b)
(c) Figure 6: (a) Cube Mapping, (b) Continuous Cube Mapping, (c) Perbandingan Contoh Silang (Cross) antara Cube Mapping dan Continuous Cube Mapping [4]
Gambar 6 tersebut, menunjukkan contoh pemetaan kubus dengan sejumlah bentuk salib yang memperlihatkan perbandingan antara cube mapping dan continuous cube mapping. 3.2.2
Polycube Mapping
Cube map menyediakan sebuah metode untuk
pemetaan tekstur mulus. Penelitian [1, 5] menjelaskan tentang polycubemaps yang dapat mematahkan pembatasan ini dan mengurangi distorsi. Namun, pengguna perlu lebih terlibat untuk membangun polycubes yang membutuhkan waktu lebih lama. Oleh karena itu, pengembangan teknik untuk menentukan polycubes otomatis sesuai tanpa intervensi pengguna sangat penting. Bentuk polycube kira-kira mendekati model 3D. melengkung dengan perkiraan model. Simpul dari model yang diproyeksikan ke polycube tersebut. Akhirnya, polycube yang melengkung terbalik dan proyeksi dioptimalkan. Gambar 7 berikut memperlihatkan polycube yang berisi 10 kubus.
Figure 7: Suatu polycube yang berisi 10 kubus
61
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Contoh dari implementasi polycube untuk suatu model apel diperlihatkan pada gambar berikut ini. Gambar 8 (a) memperlihatkan bentuk apel asal serta pemetaannya dengan menggunakan cube map, sedangkan gambar (b) memperlihatkan penerapan polycube map dari model apel sebelumnya.
(a)
Figure 9: Ilustrasi
ellipsoid texturing
Pada gambar tersebut, ilustrasi digambarkan dalam bentuk 2 dimensi. Dalam bentuk 3 dimensi, segi empat (square ) menjadi kubus dan ellips menjadi ellipsoid. Dalam ilustrasi tersebut diasumsikan bahwa peta langit dan lingkungan berada di tengah origin. Kemudian untuk memberikan tekstur suatu titik dalam permukaan ellipsoid, maka dapat digunakan suatu vektor dari origin ke titiktitik pada permukaan sebagai lookup vector ke dalam suatu cube map. Hal ini akan memproyeksikan cube map ke dalam ellipsoid. 3.3
Kelebihan
dan
Cube Mapping
Kekurangan
Cube Mapping memiliki kelebihan dibandingkan dengan metode environment mapping yang lain. Cube Mapping lebih disukai daripada metode Figure 8: (a) Model Apel dan cube mapnya, (b) environment mapping yang lain karena relatif (b)
Polycube dari model Apel [5]
3.2.3
Ellipsoid Cube Mapping
Ellipsoidal Cube Mapping merupakan pengembangan dari cube mapping untuk dipergunakan dalam hal keakuratan data visual suatu environments
(lingkungan) [3]. Sebagai contoh adalah ellipsoid yang mengelilingi suatu scene langit dapat digunakan sebagai suatu environment map. Demikian pula dengan pengunungan yang jauh dari horizon. Tekstur dari lingkungan (environment ) ini diproyeksikan ke dalah suatu permukaan ellipsoid. Ilustrasinya dapat dilihat seperti pada gambar berikut ini.
sederhana. Juga, pemetaan kubus menghasilkan hasil yang mirip dengan yang diperoleh dengan ray tracing, tapi jauh lebih esien dalam komputasi, dimana penurunan kualitas dapat dikompensasikan dengan keuntungan besar yaitu dalam hal esiensi. Cube Mapping hanya membutuhkan pass render tunggal, dan karena sifatnya sederhana maka sangat mudah bagi para pengembang untuk memahami dan menghasilkannya. Cube Mapping juga menggunakan resolusi seluruh tekstur gambar, dibandingkan dengan Sphere mapping Paraboloid mapping, yang juga memungkinkan untuk menggunakan gambar resolusi yang lebih rendah untuk mencapai kualitas yang sama. Meskipun penanganan kelim (seaming ) cube mapping kadang menimbulkan masalah, sejumlah algoritma telah dikembangkan untuk menangani masalah kelim ini sehingg dapat menghasilkan reeksi mulus.
62
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Sedangkan kekurangan dari Cube Mapping adalah jika objek baru atau pencahayaan baru diperkenalkan ke scene atau jika beberapa objek yang tercermin di dalamnya bergerak atau berubah dalam beberapa cara, maka perubahan reeksi dan cube mapping harus kembali di-render. Ketika cube mapping ditempelkan pada suatu objek dalam scene yang bergerak maka peta kubus juga harus kembali di-render dari posisi baru. Aplikasi-aplikasi
2.
cube
Stable Specular Highlights ; merupakan titik
terang dari cahaya yang muncul pada objek mengkilap ketika diterangi. Specular highlights penting dalam komputer gras 3D, karena mereka memberikan isyarat visual yang kuat untuk bentuk obyek dan lokasinya sehubungan dengan sumber cahaya di dalam scene.
Skyboxes ; cube mapping dapat digunakan untuk menciptakan pre-rendered gambar panorama langit yang kemudian diberikan oleh mesin gras sebagai wajah dari sebuah kubus yang secara praktis berada pada jarak yang hampir tak terbatas dengan sudut pandang yang terletak di pusat kubus. Teknik ini telah digunakan secara luas dalam video game karena memungkinkan desainer untuk menambah kompleksitas lingkungan untuk permainan dimana hampir tanpa biaya kinerja (no performace cost ).
3.
4.
Global Illumination ; Iluminasi global (global illumination ) adalah nama umum un-
tuk sekelompok algoritma yang digunakan dalam komputer gras 3D yang dimaksudkan untuk menambah pencahayaan yang lebih realistis untuk adegan 3D. Algoritma tersebut mempertimbangkan tidak hanya cahaya yang datang langsung dari sumber cahaya (pencahayaan langsung), tetapi juga kasus-kasus berikutnya di mana sinar cahaya dari sumber yang sama tercermin (reected ) oleh permukaan lain dalam scene, apakah reektif atau tidak (iluminasi tidak langsung) .
Cube Mapping
Sejumlah aplikasi yang memenfaatkan teknik mapping antara lain: 1.
5.
Skylight Illumination ; Cube map dapat berguna untuk pemodelan pencahayaan di luar ruangan secara akurat. Cukup dengan pemodelan sinar matahari sebagai cahaya yang tunggal tak terbatas, maka dapat menyederhanakan pencahayaan outdoor dan menghasilkan pencahayaan realistis.
Dynamic Reection ; Pada environment map
dasar digunakan cube map yang statis meskipun objek dapat dipindahkan dan terdistorsi, pemantulan lingkungan ( reected environment ) tetap konsisten. Namun, tekstur cube map dapat diperbarui secara konsisten untuk mewakili lingkungan yang berubah secara dinamis (misalnya, pohonpohon bergoyang dalam angin).
6.
Projection Texture ; pemetaan tekstur proyektif (projection texture ) bergantung pada cube map untuk memproyeksikan gam-
bar dari lingkungan ke scene sekitarnya. Pemetaan tekstur proyektif adalah metode pemetaan tekstur yang memungkinkan gambar bertekstur yang akan diproyeksikan ke scene seolah-olah dengan proyektor slide. Pemetaan tekstur proyektif berguna dalam berbagai teknik pencahayaan dan itu adalah titik awal untuk pemetaan bayangan. Pemetaan tekstur proyektif pada dasarnya adalah sebuah transformasi matriks khusus yang dilakukan per-vertex dan kemudian diinterpolasi secara linier sebagai pemetaan tekstur standar.
4 Simpulan Telah dibahas tentang salah satu environment mapping, yaitu cube mapping yang merupakan teknik pemetaan tekstur yang banyak digunakan untuk diimplementasikan pada GPU. Pemetaan kubus ini lebih disukai daripada pemetaan yang lain yaitu sphere mapping dan paraboloid mapping. Sejumlah penelitian telah dilakukan untuk pengembangan cube mapping, yaitu continuous cube mapping untuk penyempurnaan tekstur dengan meminimalkan waktu perhitungan, polycube mapping untuk mengatasi masalah di perbatasan dan distorsi, serta ellipsoidal cube mapping untuk keperluaan rendering yang lebih akurat dengan contoh implementasi pada planetary terrain.
63
Jurnal Komputasi, Volume 10 Nomor : 1 Juni 2011 ISSN : 1412-9434
Daftar Pustaka
Intoduction to 3D Programming with Direct X. Wordware Publishing, Inc,
[3] Frank D. Luna. 2008.
[1] Chin-Chen Chang and Chen-Yu Lin. Texture tiling on 3d models using automatic polycubemaps and wang tiles. Journal of Information Science and Engineering, 26:291305, 2008.
[4] Bill Niebruegge and Cindy M. Grimm. Continuous cube mapping. Journal of Graphics Tools, 12(4):2534, 2007.
[2] Simone Kriglstein and Günter Wallner. Environment mapping. 2001.
[5] Marco Tarini, Kai Hormann, Paolo Cignoni, and Claudio Montani. Polycube-maps. ACM Trans. Graph., 23(3):853860, August 2004.
64