Rabu, 18 Januari 2012

3D RENDERING "intermezzo"

Assalamualikum.

Teman-teman pasti sudah sangat sering mendengar istilah ini, "Rendering" . Dalam wikipedia disebutkan cukup detail mengenai hal ini. termasuk beberapa prinsip algoritma untuk menciptakan image dan rasterize dari 3D vector ke pixel.

Di Blender contohnya, saat render Cycles, CPU/GPU merender beberapa pixel saja, sehingga pixel yang lain hanya di kira-kira (ignored area), maka saat integratornya kecil muncul noise-noise yang berupa area yang diabaikan. Teknik ini memang lebih baik / cepat di banding pixel by pixel rendering, dimana semua pixel harus dilalui. Tekniknya lainnya pun ternyata beragam, seperti teknik scanline, monte carlo, ray trace dan lain sebagainya. Persamaannya memakai matematika, kalkulus, algoritma, dimana saya tidak mendalami itu.

Cukup rumit memang, saya sendiri hanya menjadikan itu sebagai pengetahuan umum saja, karena memang saya hidup setelah render engine diciptakan, proses penciptaannya juga nggak ngerti-ngerti amat, coba aja saya pada tahun 1952 sudah lahir dan kerja di lab komputernya MIT mesti beda deh ceritanya, hehehe... :p

Yang pasti itu sesuatu yang luar biasa bagi saya, ketika dilihat dari sejarahnya dulu hanya dari penemuan sketchpad  (that's simple line from television screen)

dan banyak komputer-komputer yang segede "kingkong" diciptakan hanya untuk mempermudah penciptaan image dalam komputer. Hingga sekarang hanya perangkat sebesar buku tulis saja sudah mampu menciptakan gambar dari komputer. That's Awesome!!!

yang pasti dari research bertahun-tahun,
Sekarang seniman sangat dipermudah dengan teknologi itu.

Saya masih ingat saat pertama kali kuliah, ada perdebatan dan silang pendapat antara seorang dosen (seniman). Mana yang lebih baik? seniman? atau orang teknik? beberapa seniman masih menganggap seni lebih unggul. "lihat Da-Vinci dengan karyanya yang tidak ternilai" dan orang teknik masih menganggap tekniklah yang lebih unggul. "lihat gedung-gedung pencakar langit itu, rocket yang meluncur ke bulan"
That's no problem,
Menurut saya pribadi, sekarang adalah dunia dimana seni dan teknik bergabung. Dan saya rasa itulah yang terjadi dalam dunia animasi. Kita tidak bisa kerja sendirian, dan itulah pentingnya sebuah team, community, share dan lainnya.

Tapi bukan itu yang menjadi pokok bahasan saya. 
Saya kali ini juga tidak membahas mengenai teknik rendering atau tutorialnya. Saya ingin membahas ini karena ada kasus yang terjadi saat saya memproduksi beberapa animasi.

Pertanyaannya adalah,

Bagaimanakah shading dan rendering yang bagus?

Pernah suatu waktu ada dialog antara saya dan beberapa teman mengenai shading dan rendering.
sering muncul dialog unik:
A: "Wah kok kurang asik ya renderingnya?"
B: "Apanya ya yang bikin kurang asik?"
A: "Ga tau, "feel" q masi ada yang kurang ja"
B: " ????" (pulang2 ga bisa makan gara2 mikirin renderan :P)

Seperti saya yang masih terbilang "bayi" dalam hal rendering 3D, memang terkadang menemui hasil render yang kurang "ber-dimensi". Hal ini terlepas dari cartoon style / rendering 2D in 3D/ cell shade look, yang saya maksud disini adalah rendering 3D look / real look.

Saya sebenarnya hanya berusaha menyederhanakan prinsip rendering agar ada patokan dalam rendering.  Saya mulai menilik kembali ke traditional art, yaitu "drawing". Dalam seni menggambar / drawing istilah rendering sering sekali digunakan. Mengarsir kertas menggunakan pensil, mengatur tekanan pensil, memberi warna gelap pada permukaan yang dalam, dan warna lebih cerah pada permukaan tinggi/dekat sering disebut dengan teknik rendering, shading/ arsiran.

Saya mencuplik dalam buku Andrew Lommis (1949:81), yaitu buku kuno panduan banyak seniman gambar, yang berisi secara detail teknik-teknik menggambar dan di dalamnya juga menjelaskan anatomi plastis.
Andrew menjelaskan pembagian shading sebagai berikut.

Gambar: saya sket ulang menggunakan my paint.

Dari gambar di atas secara mendasar shading terbagi menjadi 5 bagian.

1. Highlight : (noon)
Dapat diartikan sebagai permukaan yang terkena cahaya secara langsung. biasanya warna lebih terang, tergantung dengan warna sumber cahaya. Seperti pada siang hari terik.

2. Halftone : (twilight)
Diibaratkan bagian bumi pada waktu senja. Bagian yang berada di antara highlight dan shadow. Andrew membagi halftone lagi dengan B+ Last night.

3. Shadow: (Night)
Bagian yang gelap pada objek. Seperti pada malam hari. bagian bumi yang tidak terkena cahaya.

4. Reflect (moonlight)
Merupakan pantulan dari objek sekitar/ surfacenya. Ini akan berpengaruh besar/kecil tergantung sifat materialnya (gloss/diffuse/doff/ dll). Disamakan dengan pantulan cahaya matahari terhadap permukaan bulan.

5. Cast shadow (Eclipse)
Diumpamakan seperti gerhana, bumi yang tertutup bulan/ matahari. Merupakan cetakan bayangan karena tertutup oleh benda. Ya, bayangan yang sering kita lihat di bawah kaki kita lah, saat berada di luar ruang. Keras / atau tidaknya juga tergantung pada sumber cahaya, indor dan out door bakal beda. Siang hari bakal lebih keras, dan sore hari akan lebih soft dan blur.

Saya coba render di blender dan ternyata memang prinsipnya sama.



That's it, menurut saya konsep yang disampaikan oleh Andrew Lommis bisa dijadikan patokan sederhana untuk rendering 3D. Walau sekarang sudah sangat dimudahkan dengan teknologi, paling tidak agar dimensi benar terlihat ,mari kita pahami terlebih dahulu prinsip dasarnya.
Sekian dan terima kasih, kurang lebih saya mohon maaf. Silahkan berkomentar mengenai konsep rendering dan shading yang baik dan benar. :)


and,

Watch out your vehicles!!

Wassalam.