Selasa, 13 Desember 2016

TEXTURING dan RENDERING

   


  A.    TEXTURING


Dalam dunia visual, texturing adalah proses pemberian karakteristik permukaan pada objek. Maksud dari karakteristik adalah termasuk pewarnaan, kilauan, dan lainnya. Pada umumnya teksturing adalah pemberian warna pada permukaan objek atau pengecatan, walaupun ada proses yang mengubah geometri objek. Dalam software seperti 3DSMax dan Blender, untuk menambahkan tekstur pada objek, kita bisa menggunakan tools Map.
Teknik teksturing adalah termasuk langkah terakhir dalam pendesaian 3D. Hal ini dikarenakan setelah langkah teksturing ini langkah selanjutnya hanyalah tinggal melakukan rendering jika ingin dijadi objek 2D. Untuk desain tekstur itu sendiri terdiri dari berbagai macam tipe. Secara default biasanya hanya disediakan tekstur sederhana seperti Wood, metal. Sedangkan untuk tekstur tingkat tinggi seperti tekur manusia kita bisa mendesainnya sendiri atau mendownload di website-website.
Teksturing sangat penting dalam desain 3D atau animasi, karena dengan teksturing inilah objek akan terlihat menjadi hidup. Karena jika hanya dengan warna biasa, suatu objek tidak akan terlihat hidup, namun dengan tekstur kita bisa mengubah gambar biasa menjadi hidup. Dengan adanya tekstur juga bisa mengubah objek yang sebenarnya kurang halus menjadi terlihat lebih halus, jika dibandingkan dengan objek tanpa tekstur.
Terdapat tiga masalah utama yang berhubungan dengan tekstur yaitu :
·         Segmentasi Tekstur (Texture segmentation)
Merupakan masalah yang memecah suatu citra ke dalam beberapa   komponen dimana tekstur dianggap konstan. Segmentasi tekstur melibatkan representasi suatu tekstur, dan penentuan dasar dimana batas segmen akan ditentukan.

·         Sintesis Tekstur (Texture synthesis)
Berusaha untuk membangun region tekstur besar yang berasal dari contoh citra kecil yang ada. Dengan menggunakan contoh citra akan dibangun model probabilitas tekstur tersebut, dan kemudian menggambarkannya pada model probabilitas untuk menentukan tekstur citra.

·         Bentuk Tekstur (Shape from Texture)
Melibatkan perbaikan orientasi permukaan atau bentuk permukaan dari tekstur. Di sini diasumsikan bahwa tekstur “kelihatan sama” pada titik-titik yang berbeda pada suatu permukaan, ini artinya bahwa deformasi tekstur dari titik ke titik adalah petunjuk  bentuk permukaan.

Berdasarkan strukturnya, tekstur dapat diklasifikasikan dalam 2 golongan yaitu :
·         Makrostruktur
Tekstur ini memiliki perulangan pola local secara periodik dalam suatu daerah citra, biasanya terdapat pada pola-pola buatan manusia dan cenderung mudah untuk direpresentasikan secara matematis.

·         Mikrostruktur
Pada tekstur ini, pola-pola lokal dan perulangan tidak terjadi begitu jelas, sehinggga tidak mudah untuk memberikan definisi tekstur yang komprehensif.

  v  Texture Mapping

Menurut Alan Watt (Komputer Grafis 3D, bagian 7.3), texture mapping atau pemetaan texture merupakan salah satu perkembangan pertama untuk membuat gambar tiga dimensi menjadi benda yang lebih menarik dan lebih kompleks. Pemetaan tekstur secara umum dapat diartikan sebagai proses “melukis” sebuah gambar ke permukaan, dimana gambar yang dilukis akan ditampilkan pada model yang diinginkan. 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. Contoh sederhana, misalkan dinding planar dapat memiliki tekstur batu dan dipetakan ke model untuk gambar yang sangat meyakinkan dari tiga-dimensi dinding batu, salah satu permainan komputer yang menggunakan texture mapping yang baik adalah check out 3D.
Dengan menggunakan tekstur pada model akan memungkinkan untuk membuat sebuah desain menjadi seperti nyata. Gambar dengan resolusi yang lebih tinggi akan menghasilkan hasil yang lebih baik bila dilihat dari jarak kecil hal ini dikarenakan daerah permukaan yang dilihat tidak berubah, gambar resolusi tinggi juga menyediakan lebih banyak data untuk pemeteaan pada model tersebut. Untuk mencoba contoh tersebut, coba berjalan ke dinding dalam salah satu permainan 3D dan amati cara dinding menampilkan texturenya untuk mendapatkan efek realistis nyata (dengan asumsi tidak memiliki kartu video/VGA yang memiliki texture mapping pada perangkat keras).
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.
Pada bidang komputer grafik, dikenal istilah Environment Mapping yang merupakan teknik untuk mensimulasikan sebuah objek agar dapat merefleksikan lingkungan sekitarnya. Blinn dan Newell ma kali mengajukan teknik ini pada tahun 1976. Dalam environment mapping, dikenal juga Cube Mapping yang merupakan bagian dari metode tersebut, dimana fungsi dari cuba mapping adalah untuk merepresentasikan lingkungan sekitarnya dengan cara “menempelkan” enam buah gambar yang berbeda di keenam sisi objek. Hal ini membuat objek 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.

  v  Reflection Mapping


Reflection Mapping adalah teknik yang dapat membuat gambar/objek menjadi terlihat semakin nyata dengan cara merefleksikan lingkungan sekitar di permukaan objek. Dua metode Reflection Mapping yang dikenal adalah Chrome Mapping dan Environment Mapping. Pada metode Chrome Mapping, refleksi/pantulan lingkungan sekitar objek direpresentasikan dengan gambar yang dikaburkan (blurred) seperti halnya melihat pantulan pada benda-benda logam. Metode ini memberikan kesan mengkilap pada objek. Metode lainnya, yaitu metode Environment Mapping merepresentasikan lingkungan sekitarnya dengan benar-benar “mencerminkan” lingkungannya. Tidak seperti metode Chrome Mapping yang hanya membuat objek sekedar mengkilap, Environment Mapping memberikan kesan seolah-olah objek tersebut merupakan “cermin” dari lingkungan sekitarnya.

  v  Environment Mapping


Seperti penjelasan sebelumnya tentang environement pada bagian sebelumnya, teknik ini merupakan teknik untuk mensimulasikan sebuah objek agar dapat merefleksikan lingkungan sekitarnya. Blinn dan Newell ma kali mengajukan teknik ini pada tahun 1976. Pada bentuk yang paling sederhana, teknik environment biasanya menggunakan objek yang permukaan yang 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 objek. Ada beberapa teknik Environment Mapping, diantaranya adalah Sphere Mapping, Dual Paraboloid Mapping, dan Cube Mapping.

  v  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. ldealnya, jika objek yang akan direfleksikan berada dekat dengan objek 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 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 objek.

  v  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.

  v  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 menawarkan kelebihan yang tidak bisa dilakukan seperti 2 teknik sebelumnya seperti ketergantungan sudut pandang (view dependency), keterbatasan cangkupan tekstur (wraping & distortion). Selain alasan-alasan tersebut, kerumitan dalam penerapan tekstur juga menjadi alasan menggunakan teknik mapping ke Cube Mapping. Dengan mentransformasikan tekstur ke dalam enam sisi kubus, Cube Mapping lebih menawarkan kemudahan implementasi karena pantulan pada permukaan objek cukup dikonsentrasikan di keenam sisi objek.
Tidak seperti Dual Paraboloid Mapping, teknik Cube Mapping hanya membutuhkan satu unit tekstur dan satu tahap rendering. Selain itu, teknik Cube Mapping juga 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. Proses texturing pada Cube Mapping membutuhkan kemampuan yang lebih agar dapat mengakses enam gambar secara bersamaan.



  B.     RENDERING



3D Rendering merupakan proses untuk membentuk sebuah gambar dari sebuah model yang dibentuk oleh perangkat lunak animasi, model tersebut berisi data geometri, titik pandang, tekstur dan cahaya yang diperlukan untuk membuat gambar yang utuh. Rendering merupakan 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 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.




Daftar Pustaka
http://sonityodjava.blogspot.sg/2013/11/texturing.html
http://kemajuan-diri.blogspot.sg/2014/03/texture-modelling-pada-blender.html
http://www.ilmugrafis.com/blender-dasar.php?page=memberikan-texture-pada-object-di-blender
https://wenythepooh.wordpress.com/2011/02/22/proses-rendering-dan-animasi-serta-contoh-nyatanya/
http://jempoluburubur.blogspot.sg/2011/12/rendering.html
http://infolightwave.blogspot.sg/2013/03/pengertian-3d-rendering.html