Pengertian Dan Manfaat Bump Mapping Pada Obyek Quadric

Pengertian Dan Manfaat Bump Mapping Pada Obyek Quadric 
Perkembangan teknologi komputer grafis yang pesat menyebabkan banyak pembuatan program-program aplikasi grafis yang mampu menghasilkan gambar-gambar realistis, terutama gambar tiga dimensi yang photorealistic (sekualitas foto). Untuk menghasilkan gambar yang photorealistic, perlu memperhitungkan efek-efek pencahayaan. Dengan demikian, diharapkan mampu menghasilkan gambar yang mendekati gambar aslinya.

Obyek yang bisa dimodelkan adalah obyek parametrik dan obyek mesh. Namun obyek yang lebih efisien untuk digunakan dalam pembuatan grafis adalah obyek parametrik. Hal ini disebabkan karena obyek-obyek parametrik tersebut lebih mudah dimodelkan dan dimanipulasi bentuknya. Selain itu waktu yang diperlukan untuk merender cukup singkat. Salah satu keterbatasan pemodelan obyek parametrik adalah bentuk yang tidak kompleks. Oleh karena itu maka banyak penelitian dilakukan untuk memanipulasi bentuk obyek parametrik tersebut supaya menjadi lebih bervariasi. 

Manipulasi yang paling sering dilakukan terhadap obyek parametrik adalah pemberian tekstur. Ada banyak cara pembentukan tekstur, salah satunya adalah bump mapping. Bump mapping adalah sebuah tekstur kasar pada sebuah permukaan. Pemodelan bump mapping dilakukan dengan cara membentuk sebuah peta tekstur terlebih dahulu. Setelah terbentu peta tekstur barulah dilakukan pemetaan ke permukaan obyek. 

Bump Mapping
Walaupun memiliki cara kerja yang hampir sama dengan tekstur mapping, bump mapping menghasilkan gambar yang berbeda. Pada tekstur mapping hanya memetakan warna ke permukaan obyek, sedangkan bump mapping memetakan juga kedalaman. Perbedaan antara tekstur mapping dengan bump mapping dapat dilihat pada gambar. 

Gambar Penambahan Tekstur Mapping(kiri) dengan Bump Mapping(kanan)

Dengan penambahan bump mapping, akan tercipta sebuah efek pencahayaan di mana permukaan dari obyek tersebut yang sebelumnya mulus, akan menjadi seakan-akan tampak bergelombang dan berlekuk-lekuk. Efek tersebut didapatkan dari ”memanipulasi” Normal Vektor (Perturbed Normal Vektor Normal Vektor yang dimiringkan). Dengan memanipulasi normal Vektor dari sebuah titik yang spesifik, dapat mengubah intensitas pencahayaan yang seharusnya didapatkan oleh titik tersebut, yang berasal dari efek pencahayaan Diffuse dan Specular. Hal ini dikarenakan efek pencahayaan Diffuse dan Specular bergantung sepenuhnya kepada Normal Vektor dari titik tersebut. 

Bump Mapping sebenarnya mirip dengan Texture Mapping, terutama cara wrapping-nya (pemetaan)[1]. Namun Bump Mapping mempunyai pemrosesan tambahan setelah itu. Oleh karena Bump Mapping memerlukan pemrosesan tambahan dibandingkan dengan Texture Mapping, maka akan dijelaskan beberapa hal tentang proses tersebut:
  1. Menghitung Perturbed Normal Vektor
  2. Mengaplikasikan Perturbed Normal Vektor
Menghitung Perturbed Normal Vektor
Sementara texture mapping menggunakan map apa adanya seperti yang diberikan oleh user, bump mapping memerlukan perhitungan tambahan terhadap map tersebut. Perhitungan tambahan ini dapat dilakukan sebelum atau saat melakukan perhitungan bump mapping. Perhitungan tambahan ini berguna untuk mengetahui seberapa kemiringan dari normal vektor yang harus diaplikasikan terhadap normal vektor dari titik tersebut.

Di dalam mengkalkulasi bump mapping, height map (map yang memberikan informasi tentang ketinggian) yang dibaca dari media penyimpanan tersebut harus dikonversi menjadi contour data terlebih dahulu. Contour data adalah data yang menunjukkan seberapa tinggi atau rendahnya sebuah titik pada sebuah permukaan. Informasi ketinggian dari contour data tersebut kemudian yang digunakan untuk menentukan seberapa kemiringan ”virtual” dari sebuah titik pada permukaan, yang nantinya digunakan untuk menentukan seberapa ”perturbed”-nya sebuah normal vektor pada sebuah titik pada permukaan. Kemiringan normal vektor dari yang seharusnya ini yang akan menghasilkan bagian-bagian permukaan gelap-terang yang lain dari yang seharusnya, sehingga menciptakan ilusi bahwa ada bagian-bagian dari permukaan yang naik turun. 

Gambar Hasil Efek Pencahayaan Biasa


Gambar Hasil Efek Pencahayaan Dengan Bump Mapping

Gambar yang dibaca dari media penyimpanan biasanya adalah gambar grayscale (hitam putih). Semakin putih suatu warna, diterjemahkan dengan semakin tinggi posisi titik di tempat tersebut. Sebaliknya, semakin gelap suatu warna, diterjemahkan dengan semakin dalam pula posisi titik di tempat tersebut. Contoh Height Map dapat dilihat pada gambar

Gambar Contoh Height Map dari DirectX© SDK

Dalam menyimpan sebuah normal map dari height map untuk setiap titik, diperhitungkan keempat buah pixel yang bersebelahan dengan pixel tersebut. Pada gambar 5 ditampilkan gambar pixel dalam Height Map yang diperbesar. Pada gambar 6. ditampilkan hasil hitungan Contour Data berdasarkan seberapa terang sebuah pixel dalam Height Map. Kemudian pada gambar 7. ditampilkan arah kemiringan Perturbed Normal Vektor untuk setiap pixel, secara horisontal dan vertikal.

Tanda panah tersebut menunjukkan ke arah mana normal vektor tersebut termiringkan. Bila diperhatikan, maka tanda panah selalu mengarah dari terang menuju ke gelap. Efek dari tanda panah tersebut dapat diperhatikan dalam gambar.

Gambar Normal Vektor yang ter-perturbed

Dengan miringnya Normal Vektor, hal tersebut akan mengakibatkan proses perhitungan gelap-terang dari efek pencahayaan Diffuse dan Specular akan berubah, sehingga akan menimbulkan ilusi ada bagian-bagian permukaan yang timbul dan tenggelam.

Kadang-kadang, oleh karena dalam mendapatkan sebuah perturbed normal vektor diperlukan proses perhitungan yang cukup rumit, seringkali dilakukan proses perhitungan di muka terhadap height map tersebut, sehingga menghasilkan sebuah perturbed normal map. Perturbed normal map adalah sebuah map yang menyimpan nilai kemiringan normal vektor dalam bentuk warna dengan cara mengkonversi nilai x, y, z menjadi r, g, b dengan menggunakan rumus seperti pada persamaan.

Bila permukaan dari height map itu rata (contoh: semuanya ”dataran tinggi” atau semuanya ”dataran rendah”), normal map tersebut mengarah ke sumbu z. Itulah sebabnya mengapa perturbed normal map kebanyakan berwarna kebiru-biruan. Semua jenis arah dari normal vektor dapat disimpan di dalam sebuah pixel rgb, asal normal vektor tersebut sudah dinormalisasi.

Teknik Wrapping terhadap Obyek Quadric Secara Umum
Untuk melakukan proses wrapping kepada obyek-obyek quadric tidaklah semudah melakukan proses wrapping terhadap bidang datar. Hal ini dikarenakan beberapa obyek yang memiliki bentuk yang kompleks, tidaklah mudah untuk mencari rumus untuk melakukan wrapping terhadap obyek tersebut. Jadi dalam hal ini, cara untuk membungkuskan map kepada obyek-obyek tersebut adalah dengan membungkuskan sebuah bola terhadap benda-benda tersebut. Ilustrasi Sphere Wrapping tersebut dijelaskan dalam gambar 9 berikut.

Gambar Ilustrasi Sebuah Paraboloid di dalam Sphere

Dengan membungkuskan sebuah obyek di dalam Sphere, setiap titik yang hendak dicari map nya pada obyek, ditembakkan menurut Normal Vektornya sampai mengenai Sphere pembungkus. Posisi pada sphere tersebut yang kemudian dikonversikan ke koordinat map.

FLOWCHART

Gambar Flowchart mencart Perturbed Normal Vektor
 

Contoh Contoh Proposal Copyright © 2011-2012 | Powered by Erikson