Proses ini adalah proses pembuatan dan pemberian warna dan material (texture) pada objek yang telah dimodelkan sebelumnya sehingga akan tampak suatu kesan yang nyata. Pemberian material atau texture pada objek 3D akan mendefinisikan rupa dan jenis bahan dari objek 3D. Material atau texture dapat berupa foto atau gambar yang dibuat dengan aplikasi software 3D, seperti 3ds max, Maya, dan lain-lain, atau dengan bantuan software digital imaging, seperti photoshop, photoPaint, atau Gimp.
Objek 3D pada open GL merupakan objek yang lebih hidup dibandingkan objek 2D. Namun permukaan objek 3D yang polos membuat 3D cenderung kurang menarik dan kaku. Untuk membuat objek yang lebih hidup pada OpenGL diperlukan suatu texture mapping. Mapping ialah sebuah bentuk kegiatan untuk melakukan pewarnaan atau memetakan permukaan geometri pada objek 3D. Sedangkan Maps adalah bentuk gambar atau warna yang digunakan untuk melapisi objek 3D pada saat dilakukan mapping. Dengan kata lain pemetaan texture merupakan pemberian sebuah gambar pada permukaan objek sehingga objek akan tampak realistis. Texture mapping memungkinkan untuk menaruh gambar pada geometric primitive tersebut dan sekaligus mengikuti transformasi yang diterapkan kepada objek. Contohnya apabila sebuah objek kubus tanpa gambar diberi texture bebatuan pada permukaannya, maka objek tersebut akan tampak memiliki tekstur kasar seperti batu.
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. Dalam pemberian tekstur, ada beberapa hal yang perlu diperhatikan seperti:
=> Menentukan tekstur
Membaca tekstur
Menandai tekstur
Mengaktifkan tekstur
=> Menandai koordinat tekstur pada vertek
=> Menentukan parameter tekstur
Pada bidang komputer grafik, dikenal istilah Environment Mapping yang merupakan teknik untuk mensimulasikan sebuah obyek 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 obyek. Hal ini membuat obyek 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.
1. 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.
2. Environment Mapping
Seperti penjelasan sebelumnya tentang environement pada bagian sebelumnya, teknik ini merupakan teknik untuk mensimulasikan sebuah obyek 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.
3. 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’. Konsep tersebut diilustrasikan pada gambar di bawah ini.
Walaupun Sphere Mapping terlihat bagus, akan tetapi, teknik ini belum begitu sempurna. ldealnya, jika objek 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 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.
4. 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.
5. 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 obyek cukup dikonsentrasikan di keenam sisi obyek.
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.
6. 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.
7. 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:
8. 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 terhadap (x,y)
(u,v) = (u’/q,v’/q)
9. Inverse Mapping dengan Penggunaan Permukaan Antara
Dapat 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)
S mapping: T(u,v) – T’(xi,yi,zi)
O mapping: T’(xi,yi,zi) -> O(xw,yw,zw)
Popularity: 1%
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.
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.
2. 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.
3. 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.
4. 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.
5. Animating
Animating atau Animation adalah “illusion of motion” yang dibuat dari image statis yang ditampilkan secara berurutan. Pada video atau film, animasi merancu pada teknik dimana setiap frame dalam film dibuat secara terpisah. Frame bisa dihasilkan dari komputer, dari fotografi atau dari gambar lukisan. Ketika frame-frame tersebut digabungkan, maka terdapat ilusi perubahan gambar, sesuai dengan teori yang disebut dengan “persistance of vision”.
0 ulasan:
Catat Ulasan