Rabu, 14 Desember 2016

TEXTURING dan RENDERING




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

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

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

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

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

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

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

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

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

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.


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 Animasi
Rendering  harus dilakukan secara cermat dan teliti. Oleh karena itu terkadang dilakukan prerendering sebelum rendering dilaksanakan. Perrendering 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
  1. 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.

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

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

  1. 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. Render  pranala memanfaatkan pustaka OpenGL yang menggambar seluruh antar muka 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: