TEXTURING
dan RENDERING ANIMASI
A. TEXTURING
Texturing adalah proses
pembuatan dan pemberian warna dan material (texture) pada suatu objek yang
telah dimodelkan sebelumnya sehingga akan tampak suatu kesan yang nyata atau realistik. Pemberian
material atau texture pada objek 3D akan mendefinisikan rupa dan jenis bahan
dari objek 3D.
Filter pembesaran texture
berpengaruh pada bagaimana melakukan proses rasterisasi texture
saat texture ditampilkan pada jumlah pixel yang lebih besar atau lebih kecil dari ukuran sebenarnya. Pada Nearest Filtered
Texture, texture yang ditampilkan merupakan hasil pemilihan nilai pixel pada posisi terdekat. Sedangkan dengan Linear Interpolation Texture
(LPT), texture yang ditampilkan merupakan hasil interpolasi linear antara pixel-pixel
disekitarnya. Pada Mipmapped Texture (MPT), interpolasi linear dilakukan pada awal secara offline sehingga dihasilkan banyak texture dengan ukuran dari yang kecil hingga yang besar. LPT dan MPT akan menghasilkan kira-kira hasil yang sama dengan LPT akan sedikit lebih lambat dari MPT walaupun memori yang digunakan jauh lebih kecil.
Namun terkadang efek texture yang diinginkan dapat diperoleh dengan mencampur lebih dari satu texture. Proses pencampuran lebih dari satu texture disebut dengan istilah
blending. Salah satu efek blending yang paling sederhana adalah dengan memblending texture dengan warna.
Teknik-teknik
Realisme dalam Komputer Grafik
- Tekstur-Mapping
Mapping
berwujud gambar tekstur 2D yang dituangkan kepermukaan geometri/objek untuk membuat penampilan objek tersebut tampak halus untuk detail
permukaannya. Pada pengembangan grafik realism tingkat tinggi diperlukan lebih banyak lapisan tekstur,
agar hasil mapping mendekati kesempurnaan. Kegiatan texture mapping untuk texture mapping dapat didefinisikan sebagai sebuah metode untuk menambahkan detail tekstur permukaan (bitmap atau raster image), atau warna yang dihasilkan compute grafis atau model 3D. Penerapannya padagrafis 3D dirintis oleh Dr Edwin
Catmull pada proyek Ph.Dtesisnyatahun
1974.
- Environment-Mapping
Environtment-Mapping
ialah mapping yang memiliki pewarnaan dengan banyak gambar
(tekstur) yang merekam refleksi
global dan pencahayaan pada objek. Mapping
ini sering disebut reflection yang berarti tekstur pencahayaan dari benda-benda uar di sekitar objek. Environmet
mapping pada Mapping ini memiliki definisi yaitu metode yang efisien untuk simulasi kompleks permukaan bercermin melalui suatu gambar tekstur. Tekstur yang digunakan bekerja untuk menyimpan gambar dari lingkungan sekitar objek yang
diberikan. Ada beberapa cara untuk menyimpan tekstur lingkungan sekitar objek, salah satu metode yang
paling umum adalah metode Spherical Environment Mapping, di mana dalam metode ini suatu tekstur yang berisi citra lingkungan sekitar akan direfleksikan sebagai bola
cermin, dan kemudian dimasukkan sebagai tekstur objek yang
diberi Mapping.
- Bump-Mapping
Bump Mapping
adalah mapping yang memfokuskan permukaan tekstur pada objek,
dengan menggunakan Mapping
ini, permukaan geometri/objek akan terlihat berbeda dan unik, tidak seperti objek-objek yang memiliki permukaan normal pada umumnya. Rumus pekerjaan dari Mapping
ini akan menerapkan bidang untuk intensitas dalam mapping yang
menunjukkan tingkat rendah tingginya suatu permukaan objek, fungsi Mapping ini akan mengacaukan permukaan objek yang
normal, sehingga menimbulkan kesan unik ketika hasilnya sudah di-render. Untuk kegiatannya,
bump mapping adalah sebuah teknik grafis komputer di mana pada setiap pixel
untuk permukaan
normal objek, akan diberikan efek tidak halus dan diterapkan sebelum melakukan perhitungan iluminasi.
- Normal-Mapping
Mapping ini serupa dengan bump-Mapping,
perbedaannya adalah fungsionalitas yang ada pada normal Mapping, Mapping ini secara alami akan menghasilkan bentuk permukaan
yang tidak halus tanpa menggunakan lebih banyak penambahan atau pengurangan polygon pada objek. Dalam dunia grafik komputer 3D,
normal mapping pada Mapping ini biasa disebut " Dot3 bump mapping ", definisinya adalah sebuah teknik yang digunakan untuk ”berpura-pura” menambahkan efek tidak halus pada permukaan objek, karena
mapping ini bekerja dengan menambahkan rincian tidak halus pada permukaan objek tanpa menggunakan poligon. Normal
mapping biasanya diakurasi sebagai sebuah gambar RGB yang berhubungan dengan koordinat X,
Y, dan Z dari permukaan
normal suatu objek.
- Shadow-Mapping
Shadow Mapping
yaitu mapping yang menghasilkan suatu bayangan tekstur pada objek dengan menangkap siluet objek tersebut dari sumber cahaya yang terlihat. Mapping ini sangat sering dipakai oleh pengembang grafik 3D,
karena efek yang
dihasilkan seolah-olah menunjukkan objek tersebut sangat realistis, dan disebabkan adanya bayangan dari sumber cahaya yang
ada. Fungsi kerjanya yang berkonsep shadow mapping adalah proses
dimana bayang-bayang ditambahkan kegrafik komputer 3D. Konsep ini diperkenalkan oleh Lance Williams pada tahun 1978,
dalam sebuah makalah yang berjudul "Casting curved shadows on
curved surfaces".
6. 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). Metode lainnya, yaitu metode
Environment Mapping merepresentasikan lingkungan sekitarnya dengan benar-benar
“mencerminkan” lingkungannya.
- 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 terlihat bagus, akan tetapi, teknik ini belum begitu
sempurna. Hasil dari Sphere Mapping hanya akan benar jika semua objek yang akan
direfleksikan berada jauh dari objek yang merefleksikan. Teknik ini membutuhkan
gambar yang berbeda untuk setiap sudut pandang yang berbeda, sehingga tidak
tertutupnya semua permukaan objek dengan gambar tekstur. Dengan menggunakan teknik ini juga
kadang menimbulkan “lubang” pada pinggiran obyek.
- Dual Paraboloid Mapping
Dual Paraboloid Mapping dapat
mengatasi keterbatasan yang ada pada Sphere Mapping, akan tetapi dengan
menggunakan teknik ini akan menjadi lebih rumit bila dibandingkan dengan Sphere
Mapping, hal ini dikarenakan Paraboloid Mapping membutuhkan 2 unit tekstur atau
2 tahap rendering. Keuntungan dengan menggunakan Dual Paraboloid Mapping yaitu
:
Ø Dapat meng-capture lingkungan secara
utuh.
Ø Berbasis linear.
Ø Cocok untuk hardware yang memiliki
dual-texture, contohnya RIVATNT.
Ø View independent.
- Cube Mapping
Cube Mapping sebagai bagian dari metode Environment Mapping
merepresentasikan lingkungan sekitarnya dengan cara “menempelkan” enam buah gambar
pada keenam sisi objek. Dengan menggunakan Cube Mapping, maka seolah-seolah
objek yang akan dibuat memiliki enam sisi pantul, yaitu depan, belakang, kanan,
kiri, atas, dan bawah.
Cube Mapping muncul sebagai pengganti dua metode mapping
sebelumnya yaitu Sphere dan Paraboloid Mapping. Cube Mapping lebih menawarkan
kemudahan implementasi karena pantulan pada permukaan obyek cukup
dikonsentrasikan di keenam sisi obyek.
Secara konsep, Cube Mapping memang
lebih “fo fhe point’ dibandingkan dengan dua teknik lainnya. Proses texturing pada Cube Mapping
membutuhkan kemampuan yang lebih agar dapat mengakses enam gambar secara
bersamaan.
- Forward Mapping
Dispesifisikan 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.
11. 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).
B.
RENDERING
Rendering
adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer.
Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling,
animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan
dalam sebuah bentuk output (tampilan akhir pada model dan animasi).
Rendering
tidak hanya digunakan pada game programming, tetapi juga digunakan pada banyak
bidang, misalnya arsitektur, simulator, movie, spesial effect pada tayangan
televisi, dan design visualization. Rendering pada bidang-bidang tersebut
memiliki perbedaan, terutama pada fitur dan teknik renderingnya. Terkadang
rendering juga diintegrasikan dengan model yang lebih besar seperti paket
animasi, tetapi terkadang berdiri sendiri dan juga bisa free open-source
product.
Rendering Animasi
Rendering
harus dilakukan secara cermat dan teliti. Oleh karena itu terkadang dilakukan
pre rendering sebelum rendering dilaksanakan. Per rendering sendiri ialah
proses pengkomputeran secara intensif, biasanya digunakan untuk pembuatan film,
menggunakan graphics card dan 3D hardware accelerator untuk penggunaan real
time rendering.
Secara
umum, proses untuk menghasilkan rendering dua dimensi dari objek-objek 3D
melibatkan 5 komponen utama, yaitu geometri, kamera, cahaya, karakteristik
permukaan dan algoritma rendering.
Metode Rendering
- Ray Tracing Rendering
Ray tracing
sebagai sebuah metode rendering pertama kali digunakan pada tahun
1980 untuk pembuatan gambar tiga dimensi. Ide dari metode rendering ini sendiri
berasal dari percobaan Rene Descartes, di mana ia menunjukkan pembentukan
pelangi dengan menggunakan bola kaca berisi air dan
kemudian merunut kembali arah datangnya cahaya dengan
memanfaatkan teori pemantulan dan pembiasan cahaya yang telah
ada saat itu.
Metode rendering
ini diyakini sebagai salah satu metode yang
menghasilkan gambar bersifat paling fotorealistik. Konsep
dasar dari metode ini adalah merunut proses
yang dialami oleh sebuah cahaya dalam
perjalanannya dari sumber cahaya hingga layar
dan memperkirakan warna macam apa yang
ditampilkan pada pixel tempat jatuhnya cahaya.
Proses tersebut akan diulang hingga seluruh pixel yang
dibutuhkan terbentuk.
- Wireframe rendering
Wireframe yaitu Objek 3D
dideskripsikan sebagai objek tanpa permukaan. Pada wireframe rendering, sebuah
objek dibentuk hanya terlihat garis-garis yang menggambarkan sisi-sisi edges
dari sebuah objek. Metode ini dapat dilakukan oleh sebuah komputer dengan
sangat cepat, hanya kelemahannya adalah tidak adanya permukaan, sehingga sebuah
objek terlihat tranparent. Sehingga sering terjadi kesalahpahaman antara siss
depan dan sisi belakang dari sebuah objek.
- Hidden Line Rendering
Metode ini menggunakan
fakta bahwa dalam sebuah objek, terdapat permukaan yang tidak terlihat atau
permukaan yang tertutup oleh permukaan lainnya. Dengan metode ini, sebuah objek
masih direpresentasikan dengan garis-garis yang mewakili sisi dari objek, tapi
beberapa garis tidak terlihat karena adanya permukaan yang menghalanginya.
Metode ini lebih lambat
dari dari wireframe rendering, tapi masih dikatakan relatif cepat. Kelemahan
metode ini adalah tidak terlihatnya karakteristik permukaan dari objek
tersebut, seperti warna, kilauan (shininess), tekstur, pencahayaan, dll.
- Shaded Rendering
Pada metode ini,
komputer diharuskan untuk melakukan berbagai perhitungan baik pencahayaan,
karakteristik permukaan, shadow casting, dll. Metode ini menghasilkan citra
yang sangat realistik, tetapi kelemahannya adalah lama waktu rendering yang
dibutuhkan.
Contoh nyata dari
rendering adalah dengan menggunakan software Blender, Vray (3DS Max) dan
OpenGL. Satu trik khusus membuat kita dapat me-render seluruh film yang tengah
kita buat dengan sangat cepat, yaitu render pranala. Bayangkan kita dapat
segera menyaksikan karya kita, memeriksa kualitas animasi dan narasinya, tanpa perlu
menunggu proses render yang terlalu lama. Render pranala memanfaatkan pustaka
OpenGL yang menggambar seluruh antarmuka Blender termasuk viewport 3D ke layar,
sehingga meski ia mengorbankan kualitas visual, jenis render ini dapat
dilakukan dengan sangat cepat.
Contoh rendering dengan
menggunakan OpenGL adalah render pranala. Render ini tidak dapat langsung
dilakukan melalui baris perintah. Blender harus terlebih dahulu memiliki
“kanvas” OpenGL, yang artinya proses render harus dimulai saat antarmuka grafis
tersedia. Eksekusi perintah render dilakukan dengan injeksi perintah Python,
dengan satu-satunya perbedaan adalah fungsi yang dipanggil. Bila render normal
dipanggil dengan fungsi bpy.ops.render.render(animation=True), maka
render OpenGL dipanggil dengan fungsi: bpy.ops.render.opengl(animation=True,
view_context=False)
Untuk merender dengan
menggunakan Vray (3DS Max), proses rendering dibagi ke dalam 3 tahapan, yaitu
pertama untuk proses rendering RGBA (Red Green Blue Alpha) image, kedua untuk
rendering Ambience Occlusion, dan ketiga untuk rendering shadow. Vray sampai
saat ini telah mengeluarkan versi Cinema 4D.
Referensi :