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