Posted by : Yaqut tina Selasa, 30 April 2013


 A.           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 kita untuk memberikan tekstur peta gambar favorit  pada permukaan yang kita pilih dan kemudian memungkinkan kita 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 dan mengamati cara dinding menampilkan texturenya untuk mendapatkan efek realistis nyata (dengan asumsi tidak memiliki kartu video/VGA yang memiliki texture mapping pada hardware).

B.           Konsep Texture mapping
Texturing merupakan proses mewarnai, memberi tekstur, atau memberi efek material pada sebuah model 3D. Texture mapping adalah teknik shading untuk pengolahan gambar yang memetakan sebuah fungsi pada permukaan tiga dimensi dalam scene. Fungsi yang dipetakan mencakup satu dimensi, dua dimensi, dan tiga dimensi dan dapat digambarkan sebagai array atau fungsi matematika atau gambar.
  1. Bump mapping untuk memperjelas karakteristik permukaan yang bergelombang.
    Bump mapping merupakan suatu proses dimana tekstur (texture), atau texture map diaplikasikan pada suatu permukaan dalam sebuah program grafis komputer tiga dimensi (3D) untuk membuat detail yang lebih baik pada permukaan tersebut. Bump map biasanya digunakan untuk menambahkan detail pada suatu permukaan, seperti benjolan, bubungan, goresan dan detail lainnya yang mempengaruhi kemulusan suatu permukaan. Penggunaan pemetaan (mapping) ini memungkinkan objek yang dibuat oleh program komputer grafis biasanya dibentuk melalui penggunaan tardisional bump map, normal, atau parallax map.

  2. Transparency mapping untuk mengatur intensitas cahaya permukaan tembus pandang.
    Pemetaan Transparansi adalah metode lain menggunakan Bitmap untuk membuat bahan. Perbedaannya adalah bahwa ini adalah menggunakan alpha channel untuk menyingkirkan bagian yang tidak diinginkan dari Bitmap, hanya menyimpan bagian yang tertutup oleh alpha channel. Ini disebut topeng.
  3. Specularity mapping untuk mengubah kehalusan permukaan
  4. Illumination maaping untuk memodelkan distribusi cahaya yang datang dari berbagai arah
    Namun dari semua itu yang paling penting adalah Geometrical mapping, geometrical mapping secara keseluruhan ditentukan dengan dengan transformasi tiga dimensi terhadap kamera, tansformasi model yang menggambarkan geometri scene dan pemberian parameter pada permukaan dengan tujuan memetakan tekstur ke permukaan.
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. 
   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
a)             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’.
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.

b)             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.

c)             Cube Mapping
Cube Mapping sebagai bagian dari metode Environment Mapping merepresentasikan lingkungan sekitarnya dengan caramenempelkan” 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.

d)            Forward Mapping
Dispesifikasikan dengan fungsi linier parametric. 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)
 
 C. JENIS - JENIS TEXTURE PADA OPENGL

a.          GL_TEXTURE_1D : Gambar pada texture ini semuanya 1 dimensi.Mempunyai lebar tetapi tidak memiliki tinggi atau kedalaman
b.         GL_TEXTURE_2D : Gambar pada texture ini semuanya 2 dimensi.Mempunyai lebar dan tinggi tetapi tidak memiliki kedalaman
c.          GL_TEXTURE_3D : Gambar pada texture ini semuanya 3 dimensi.Mempunyai lebar, tinggi dan kedalaman.
d.         GL_TEXTURE_RECTANGLE : Gambar dalam teksture ini 2 dimensi (hanya satu gambar,tidak memiliki multimapping).Koordinat teksture digunakan untuk teksture yang tidak dengan titik yang sebenarnya.
e.          GL_TEXTURE_BUFFER: Gambar dalam teksture ini 1 dimensi (hanya satu gambar,tidak memiliki multimapping).Penyimpanan untuk data ini dating dari sebuah buffer object.
f.          GL_TEXTURE_CUBE_MAP : Terdapat 6 sisi dari  gambar 2D ,dan semua memiliki ukuran yang sama
g.         GL_TEXTURE_1D_ARRAY : Gambar di teksture ini semuanya 1 dimensi.Bagaimanapun terdiri dari banyak set dari 1 gambar dimensi, semuanya dengan satu teksture. Panjang array adalah bagian dari ukuran teksture
h.         GL_TEXTURE_2D_ARRAY : Gambar di teksture ini semuanya 2 dimensi.Bagaimanapun terdiri dari banyak set dari 2 gambar dimensi, semuanya dengan satu teksture. Panjang array adalah bagian dari ukuran teksture.
i.           GL_TEXTURE_CUBE_MAP_ARRAY : Gambar di teksture ini semuanya peta kubus. Terdiri dari banyak set peta kubus,semuanya dengan satu teksture.Panjang array * 6 (angka dari sisi kubus) adalah bagian dari ukuran teksture
j.           GL_TEXTURE_2D_MULTISAMPLE : Gambar di teksture ini 2 dimensi (hanya satu gambar,tidak ada multimapping).Kebanyakan pixel di gambar ini terdiri dari banyak contoh di dalamnya hanya satu nilai
k.         GL_TEXTURE_2D_MULTISAMPLE_ARRAY : Kombinasi 2D array dan jenis  2D multisample.tidak ada multimapping
 

Daftar Pustaka
Rosyid, Harist Ar. 2010. Modul 10 Praktikum Grafika Komputer. Malang: Teknik Elektro.
 
 

{ 1 komentar... read them below or add one }

  1. ijin sharing blog Opengl, moga2 blog ini bisa bermanfaat, ada 100 artikel lebih tentang pemrograman grafik dan game, juga dilengkapi dengan source code yang bisa di download

    www.heriadyblog.blogspot.co.id

    Trims

    BalasHapus

Follow Me

Chatting

Popular Post

Diberdayakan oleh Blogger.

- Copyright © Informatic Share -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -