Thursday, February 14, 2013

BAB I Texture Modelling

KATA PENGANTAR
Grafika komputer pada dasarnya adalah suatu bidang ilmu komputer yang mempelajari cara-cara untuk meningkatkan dan memudahkan komunikasi antara manusia dengan mesin (komputer) dengan jalan membangkitkan, menyimpan, dan memanipulasi gambar model suatu objek menggunakan komputer. Grafika komputer memungkinkan kita untuk berkomunikasi lewat gambar-gambar, bagan-bagan, dan diagram-diagram. Grafika komputer dikembangkan melalui suatu sistem operasi yang berbasis GUI (Graphical User Interface). Graphical User Interface (GUI), dalam hubungannya dengan sains komputer, adalah suatu antarmuka berbentuk tampilan yang memungkinkan seorang user untuk memilih perintah, menjalankan program, melihat serangkaian file dan memilih opsi lain dengan menunjukkan representasi gambar (icon) ataupun melalui sejumlah menu pada layar komputer.
Mahasiswa yang sedang menuntu ilmu di pengetahuan di perguruan tinggi harus mempelajari grafik komputer, paling tidak konsep dasarnya. Untuk para mahasiswa, Kami berusaha menyusun buku ini, terutama untuk digunakan dalam mata kuliah Grafik Komputer.
Penyusun menyadari bahwa baik isi maupun cara penyusunan buku ini belum sempurna. Kemungkinan kesalahan juga tak dapat dihindarkan. Oleh karena itu, segala saran, tegur sapa, kritik yang membangun penyusun harapkan. Demikianlah, mudah-mudahan buku ini berguna dan dapat dimanfaatkan sebaik-baiknya.
BAB I
BAB I
Sejarah Texture Modelling
Pemetaan Tekstur - Menurut Alan Watt (Komputer Grafis 3D, bagian 7.3), "Pemetaan Tekstur adalah salah satu perkembangan pertama menuju membuat gambar tiga dimensi benda yang lebih menarik dan ternyata lebih kompleks."
Secara umum, pemetaan tekstur adalah proses "melukis" sebuah gambar ke permukaan dalam sebuah model. Karena gambar yang telah diberikan texture itu bisa sangat kompleks - tetapi biaya texture mapping gambar kompleks persis sama dengan texture mapping gambar sederhana. Penggunaan tekstur-pemetaan memungkinkan bentuk yang cukup sederhana untuk diberikan penampilan yang sangat realistis. Misalnya, dinding planar dapat memiliki tekstur batu dan dipetakan ke model untuk gambar yang sangat meyakinkan dari tiga-dimensi dinding batu (Contohnya, game check out 3D permainan komputer yang sangat baik dalam penggunaan texture mapping).
Pada model memungkinkan Anda memberikan tekstur peta gambar favorit Anda pada permukaan yang Anda pilih dan kemudian memungkinkan Anda melihat hasil dari perspektif yang berbeda. Perhatikan bahwa gambar resolusi yang lebih tinggi akan menghasilkan hasil yang lebih baik bila dilihat dari jarak kecil (karena daerah permukaan yang dilihat tidak berubah, gambar resolusi tinggi menyediakan lebih banyak data untuk pemeteaan pada model tersebut). Untuk melihat contoh ini penurunan kualitas, cobalah berjalan ke dinding dalam permainan favorit 3D Anda dan mengamati cara dinding menampilkan texturenya untuk mendapatkan efek realistis nyata (dengan asumsi tidak memiliki kartu video/VGA yang memiliki texture mapping pada hardware).
Konsep Texture Mapping
Texture mapping merupakan teknik pemetaan sebuah tekstur pada pola gambar wireframe, dimana wireframe yang telah dibuat akan ditampilkan memiliki kulit luar seperti tekstur yang diinginkan. Dalam pemberian tekstur, perlu diperhatikan dasarnya seperti:
• Menentukan tekstur
1. Membaca atau membangkitkan tekstur
2. Menandai tekstur
3. Mengenablekan tekstur
• Menandai koordinat tekstur pada vertek
• Menentukan parameter tekstur
Di bidang komputer grafik, Environment Mapping merupakan teknik untuk mensimulasikan sebuah obyek agar dapat merefleksikan lingkungan sekitarnya. Teknik ini pertama kali diajukan oleh Blinn dan Newell pada tahun 1976. Cube Mapping sebagai bagian dari metode Environment Mapping merepresentasikan lingkungan sekitarnya dengan cara "menempelkan" enam buah gambar yang berbeda di keenam sisi obyek. Hal ini membuat obyek seolah memiliki enam sisi pantul, yaitu depan, belakang, kanan, kiri, atas, dan bawah. OpenGL sebagai kumpulan library, fungsi, dan prosedur untuk bidang komputer grafik telah mendukung Cube Mapping sebagai salah satu teknik Texture Mapping. Kemampuan OpenGL dalam mendukung Cube Mapping membuat dunia komputer grafik memiliki fitur tambahan untuk dapat lebih menghasilkan sesuatu yang lebih realistis. Keunggulan OpenGL yang platform-independent memungkinkan kita untuk membuat grafik yang dapat dijalankan di semua sistem operasi dengan hanya sedikit penyesuaian.
Reflection Mapping
Reflection Mapping adalah teknik yang dapat membuat gambar/obyek menjadi terlihat semakin nyata dengan cara merefleksikan lingkungan sekitar di permukaan obyek. Dua metode Reflection Mapping yang dikenal adalah Chrome Mapping dan Environment Mapping. Pada metode Chrome Mapping, refleksi/pantulan lingkungan sekitar obyek direpresentasikan dengan gambar yang dikaburkan (blurred) seperti halnya melihat pantulan pada benda-benda logam. Metode ini memberikan kesan mengkilap pada obyek. Metode lainnya, yaitu metode Environment Mapping merepresentasikan lingkungan sekitarnya dengan benar-benar "mencerminkan" lingkungannya. Tidak seperti metode Chrome Mapping yang hanya membuat obyek sekedar mengkilap, Environment Mapping memberikan kesan seolah-olah obyek tersebut merupakan "cermin" dari lingkungan sekitarnya.
Environment Mapping
Di bidang komputer grafik, Environment Mapping merupakan teknik untuk mensimulasikan sebuah obyek agar dapat merefleksikan lingkungan sekitarnya. Teknik ini pertama kali diajukan oleh Blinn dan Newell pada tahun 1976. Pada bentuk yang paling sederhana, teknik ini biasanya memakai obyek yang permukaannya terlihat seperti krom. Konsep dari teknik ini ialah menggunakan beberapa gambar yang diambil dari lingkungan sekitarnya ataupun gambar rekaan untuk dijadikan lingkungan yang akan direfleksikan oleh obyek.
Ada beberapa teknik Environment Mapping, antara lain Sphere Mapping, Dual Paraboloid Mapping, dan Cube Mapping. Adapun yang akan dijelaskan lebih lanjut ialah teknik Cube Mapping
Sphere Mapping
Sphere Mapping merupakan salah satu tipe dari Environment Mapping, di mana irradiance image' ekuivalen dengan apa yang mungkin terlihat pada sphere (bola) saat dilihat dengan proyeksi ortografik'. Konsep tersebut diilustrasikan pada gambar di bawah ini.
Walaupun Sphere Mapping terasa meyakinkan, teknik ini belum sempurna benar. ldealnya, jika obyek yang akan direfleksikan berada dekat dengan obyek yang akan merefleksikan, refleksi yang didapat akan terlihat berbeda ketika dilihat dari titik yang berbeda pula. Tetapi, hal itu tidak akan terjadi jika menggunakan Sphere Mapping. Hasil dari Sphere Mapping hanya akan benar jika semua obyek yang akan direfleksikan berada jauh dari obyek yang merefleksikan. Sehingga teknik ini membutuhkan gambar yang berbeda untuk setiap sudut pandang yang berbeda.
Sebagai akibat dari tidak tertutupnya semua permukaan obyek dengan gambar tekstur, teknik inijuga kadang menimbulkan "lubang" pada pinggiran obyek. Berikut gambar hasil Sphere Mapping dimana terlihat adanya "lubang" yang terbentuk.
Dual Paraboloid Mapping
Dual Paraboloid Mapping dapat mengatasi keterbatasan yang ada pada Sphere Mapping, tetapi teknik ini lebih rumit sebab membutuhkan 2 unit tekstur atau 2 tahap rendering. Keuntungan dari Dual Paraboloid Mapping yaitu :
1. Dapat meng-capture lingkungan secara utuh.
2. Berbasis linear.
3. Cocok untuk hardware yang memiliki dual-texture, contohnya RIVATNT.
4. View independent.
Cube Mapping
Cube Mapping sebagai bagian dari metode Environment Mapping merepresentasikan lingkungan sekitarnya dengan cara'omenempelkan" enam buah gambar-yang UerUeaa di keenam sisi obyek. Hal ini membuat obyek seolah memiliki enam sisi pantul3, yaitu depan, belakang, kanan, kiri, atas, dan bawah.
Cube Mapping muncul sebagai pengganti dua metode mapping sebelumnya. Hal-hal yang menjadi kelemahan dua metode terdahulu seperti ketergantungan sudut pandang (viei dependency), keterbatasan cangkupan tekstur (warping & distortion), dan kerumitan penerapan menjadi alasan beralihnya teknik mapping ke Cube Mapping. Dengan mentransformasikan tekstur ke dalam enam sisi kubus, Cube Mapping lebih menawarkan kemudahan implementasi karena pantulan pada permukaan obyek cukup dikonsentrasikan di keenam sisi obyek.
Tidak seperti Dual Paraboloid Mapping, teknik Cube Mapping hanya membutuhkan satu unit tekstur4 dan satu tahap rendering. Selain itu, teknik Cube Mapping tlAal mengurangi resolusi gambar (teknik Sphere Mapping dan Dual Paraboloid Mapping dapat mengurangi resolusi gambar sampai 78% dari resolusi semula). Secara konsep, Cube Mapping memang lebih "fo fhe point' dibandingkan dengan dua teknik lainnya. Namun, proses texturing pada Cube Mapping membutuhkan kemampuan yang lebih agar dapat mengakses enam gambar secara bersamaan.
Forward Mapping
• Dispesifikasikan dengan fungsi linier parametrik:
• Object-to-image space mapping dilakukan dengan transformasi: viewing - projection
• Kekurangan: ukuran texture patch seringkali tidak sesuai dengan batas pixel, sehingga harus ada perhitungan untuk pemotongan.
Inverse Mapping
• Pada prakteknya, inverse mapping lebih sering digunakan.
• Metoda: Interpolasi bilinear dan Memanfaatkan permukaan antara
Inverse Mapping dengan Interpolasi Bilinear
• Dapat dibayangkan sebagai transformasi dari 2D screen space (x,y) ke 2D texture space (u,v).
• Operasi image warping, dimodelkan dengan:
The Inverse Transform
Hubungan antara titik sudut poligon dengan koordinat pada texture map dispesifikasikan pada fase pemodelan. Dengan empat titik sudut quadrilateral, bisa didapat 9 koefisien (a,b,c,d,e,f,g,h,i) -> Gaussian elimination.
Interpolasi Bilinear pada Screen Space
• Tiap koordinat vertex punya koordinat texture (u’,v’,q).
• Yang diinterpolasikan: (u’,v’,q) – (u,v) tidak berubah secara linear thd (x,y)
• (u,v) = (u’/q,v’/q)
Inverse Mapping dengan Penggunaan Permukaan Antara
• Bisa digunakan jika belum ada hubungan antara koordinat vertex dan texture. Digunakan untuk menentukan hubungan tsb
• Two-part mapping: Texture dipetakan ke permukaan antara (biasanya non-planar) kemudian dipetakan ke objek (3D-to-3D mapping)
• S mapping: T(u,v) - T’(xi,yi,zi)
• O mapping: T’(xi,yi,zi) -> O(xw,yw,zw)