Hendri Prasetyo

Minggu, 25 September 2016

On 19.16 by Unknown   No comments



Assalamu'alaikum teman-teman semua.. Bagaimana kabar kalian semua? Semoga dalam keadaan sehat wal afiat yaa. Sudah lama saya tidak meng-update blog saya ini. Dan kali saya akan membahas mengenai 3D Rendering. Bagi orang yang sudah mengelut di bidang graphic computer pasti sudah mengerti 3D Rendering tersebut. Secara singkatnya pengertian dari 3D Rendering adalah sebuah proses yang dilakukan untuk memberikan hasil citra yang lebih solid dari model yang sudah dibentuk. Oke lebih lanjutnya saya akan menjelaskan 3D Rendering, proses Rendering, dan metode-metode Rendering tersebut.


Penjelasan 3D Rendering

Apa itu 3D Rendering? 3D Rendering adalah sebuah proses kreatif yang mirip seperti fotografi atau sinematografi, memberikan pencahayaan pada gambar dan mengatur adegan kemudian memproduksi sebuah ataupun beberapa gambar. Tidak seperti fotografi biasa, adegan yang digambarkan biasanya imajiner, dan semua yang muncul dalam 3D rendering perlu untuk diciptakan dalam sebuah komputer sebelum gambar tersebut bisa di render.

Dari tiga dimensional yang digambarkan bisa berupa sebuah adegan lengkap termasuk dengan model geometris dari tiga objek dimensional seperti gedung-gedung, pemandangan, atau karakter animasi - seniman 3D perlu untuk menciptakan adegan ini dengan Modeling dan Animasi sebelum Rendering dapat dilakukan. Proses 3D rendering menggambarkan adegan tiga dimensional ini sebagai sebuah gambar, diambil dari lokasi dan persektif yang telah ditentukan. Proses rendering bisa termasuk simulasi dari pencahayaan realistis, bayangan, atmosfir, warna, tekstur, dan efek optikal seperti misalnya pembiasan cahaya ataupun efek buram yang terlihat pada objek yang bergerak cepat, atau bahkan rendering bisa tidak terlihat realistis sama sekali dan memang dirancang untuk ditampilkan sebagai lukisan ataupun gambar abstrak. 

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. 3D Rendering merupakan proses yang sangat penting dan telah digunakan untuk berbagai macam penggunaan, seperti program permainan komputer, efek spesial pada film dan program simulasi.

Rendering tidak hanya digunakan pada game programming. Rendering juga sering digunakan untuk desain arsitektur, simulator, movie atau juga spesial effect pada tayangan televisi, dan design visualization. Setiap bidang tadi mempunyai perbedaan dalam keseimbangan antara features dan teknik dalam rendering. Terkadang rendering juga diintegrasikan dengan model yang lebih besar, paket animasi, terkadang juga berdiri sendiri dan juga terkadang free open-source product.

Berikut beberapa istilah-istilah yang kita akan temui dalam 3D Rendering
  • Shading : bagaimana warna kecerahan permukaan bervariasi dengan pencahayaan
  • Tekstur-mapping : suatu metode penerapan detail pada permukaan
  • Bump-mapping : suatu metode simulasi skala bumpiness kecil pada permukaan
  • Fogging/participating medium : bagaimana cahaya meredup
  • Shadows : efek menghalangi cahaya
  • Soft shadows : efek gelap yang disebabkan oleh tertutupnya setengah sumber cahaya
  • Reflection : seperti cermin dan bisa sangat mengkilap
  • Transparency (optics), transparency (graphic) or opacity: transmisi cahaya yang tajam melalui benda padat
  • Translucency : transmisi cahaya yang tersebar melalui benda padat
  • Refraction : cahaya yang terkait dengan transparansi
  • Diffraction : penyebaran dan interferensi cahaya yang lewat suatu obyek yang mengganggu sinar
  • Indirect illumination : permukaan diterangi cahaya yang dipantulkan dari permukaan lain
  • Caustics (a form of indirect illumination) : pantulan cahaya dari obyek yang mengkilat
  • Depth of field : obyek yang kelihatan buram atau tidak fokus ketika terlalu jauh di depan atau di belakang obyek dalam fokus
  • Motion blur : obyek yang terlihat kabur karena kecepatan gerak tinggi atau gerakan kamera
  • Non-photorealistic rendering: render dengan gaya artistik atau dimaksudkan untuk terlihat seperti sebuah lukisan atau gambar

Proses 3D Rendering
Sebelum Rendering
.
.
.
Sesudah Rendering

Terdapat 5 komponen utama dalam melakukan proses untuk menghasilkan rendering dua dimensi dari objek-objek 3D. Komponen tersebut sebagai berikut

1.Geometri
Geometri identik dengan grafik dua dimensi. Definisinya adalah besaran rotasi suatu garis dari satu titik pangkal ke posisi yang lain. Geometri merupakan gambaran untuk dasar pembuatan bidang.

2.   Kamera
Dalam grafis 3D, sudut pandang yang dilihat berasal dari kamera. Kamera disini hanya sebagai penentu untuk sudut pandang pada sebuah world, sehingga sering disebut sebagai virtual camera. Kamera sendiri memiliki faktor dari segi lokasi dan arah pandang kamera. Pada kamera ada istilah Field Of View, yang merupakan grafika 3D berbentuk piramida pada layar monitor yang berbentuk persegi. Objek yang terdapat pada field tersebut, jika dilihat pada monitor hanya akan terlihat objek yang berada didalam field, sedangkan objek diluar field tidak terlihat pada monitor. Field of view ini sangat penting dalam proses rendering.

Faktor pertama adalah lokasi (camera location). Lokasi sebuah kamera ditentukan dengan sebuah titik (x,y,z).

Faktor kedua adalah arah pandang kamera. Arah pandang kamera ditunjukkan dengan sebuah sistem yang disebut sistem koordinat acuan pandang atau sistem (U,N,V). Arah pandang kamera sangat penting dalam membuat sebuah citra, karena letak dan arah pandang kamera menentukan apa yang terlihat oleh sebuah kamera. Penentuan apa yang dilihat oleh kamera biasanya ditentukan dengan sebuah titik (x,y,z) yang disebut camera interest.

Pada kamera, dikenal field of view yaitu daerah yang terlihat oleh sebuah kamera. Field of view pada grafika 3D berbentuk piramid, karena layar monitor sebuah komputer berbentuk segiempat. Objek-objek yang berada dalam field of view ini akan terlihat dari layar monitor, sedang objek-objek yang berada di luar field of view ini tidak terlihat pada layar monitor. Field of view ini sangat penting dalam pemilihan objek yang akan diproses dalam rendering. Objek-objek diluar field of view biasanya tidak akan diperhitungkan, sehingga perhitungan dalam proses rendering, tidak perlu dilakukan pada seluruh objek.

3.   Cahaya
Komponen yang tak kalah penting adalah cahaya. Sumber cahaya pada grafik 3D sangat berpengaruh dalam proses rendering. Sumber cahaya yang membuat sebuah grafik menjadi terlihat nyata dengan adanya bayangan dari objek 3D itu sendiri. Sumber cahaya pada 3D pun terdapat beberapa macam seperti point light, spotlight, ambient light, area light, directional light, dan paralel point. Hal yang diperhatikan saat melakukan pengambilan gambar dengan adanya sumber cahaya, memerlukan lokasi, intensitas cahaya, dan warna yang menarik atau pas dengan sumber, agar menghasilkan grafik yang sempurna.

Sebuah sumber cahaya memiliki jenis. Pada grafika 3D dikenal beberapa macam sumber cahaya, yaitu:

      a.     Point Light
    Memancar ke segala arah, namun intensitas cahaya yang diterima objek bergantung dari posisi sumber cahaya. Tipe ini mirip seperti lampu pijar dalamitas cahaya yang diterima objek bergantung dari posisi sumber cahaya. Tipe ini mirip seperti lampu pijar dalam dunia nyata.

      b.   Spotlight
   Memancarkan cahaya ke daerah tertentu dalam bentuk kerucut. Sumber cahaya terletak pada puncak kerucut. Hanya objek-objek yang terletak pada daerah kerucut tersebut yang akan nampak.

      c.    Ambient Light
   Cahaya latar/alam. Cahaya ini diterima dengan intensitas yang sama oleh setiap permukaan pada benda. Cahaya latar tersebut dimodelkan mengikuti apa yang terjadi di alam, dalam keadaan tanpa sumber cahaya sekalipun, benda masih dapat dilihat.

      d.   Area Light
      e.    Directional Light
   Memancarkan cahaya dengan intensitas sama ke suatu arah tertentu. Letak tidak mempengaruhi intensitas cahayanya. Tipe ini dapat menimbulkan efek seolah-olah sumber cahaya berada sangat jauh dari objek

      f.    Parallel Point
Sama dengan directional, hanya pencahayaan ini memiliki arah dan posisi.

Model dari pencahayaan, dipakai untuk menghitung intensitas dari cahaya yang terlihat dari setiap posisi pada setiap permukaan benda yang terlihat oleh kamera. Ketika melihat sebuah benda, terlihat cahaya yang dipantulkan dari permukaan benda, dimana cahaya ini merupakan intregrasi dari sumber-sumber cahaya serta cahaya yang berasal dari pantulan cahaya permukaan-permukaan yang lain. Karena itu benda-benda yang tidak langsung menerima cahaya dari sumber cahaya, masih mungkin terlihat bila menerima cahaya pantulan yang cukup dari benda didekatnya.

Model sederhana dari sumber cahaya adalah sebuah titik sumber, dimana dari titik ini cahaya dipancarkan. Perhitungan pencahayaan bergantung pada sifat dari permukaan yang terkena cahaya, kondisi dari cahaya latar serta spesifikasi sumber cahaya.

Semua sumber cahaya dimodelkan sebagai sumber titik yang dispesifikasikan dengan :
a. Lokasi; Lokasi (x,y,z) dari sebuah sumber cahaya akan menentukan pengaruhnya terhadap sebuah objek.

b. Intensitas; Intensitas cahaya menyatakan kekuatan cahaya yang dipancarkan oleh sebuah sumber cahaya. Parameter ini merupakan angka, yang biasanya makin besar nilainya, makin terang sumber cahaya tersebut.

c. Warna; Warna cahaya dari sumber ini akan mempengaruhi warna dari sebuah objek, jadi selain warna objek tersebut warna cahaya yang jatuh pada objek tersebut akan mempengaruhi warna pada rendering. Warna cahaya ini biasanya terdiri dari 3 warna dasar grafika komputer, yaitu: merah, hijau, biru atau lebih dikenal dengan RGB.

4.   Karakteristik Permukaan
Karakteristik permukaan pada sebuah objek merupakan sifat dari permukaan sebuah objek. Karateristik tersebut berupa, warna, tekstur, sifat permukaan, refleksitas, transparansi, dll. Saat rendering, warna dalam sebuah objek tergantung pada warna dari karakteristik permukaan dan warna cahaya.

5.   Algoritma Rendering
Merupakan prosedur pada suatu program untuk melakukan perhitungan dalam menghasilkan citra 2D dari data 3D. Kebanyakan algoritma rendering menggunakan pendekatan scan-line yang melihat program dari setiap pixel, satu per satu, secara horizontal, dan menghitung warna pixel tersebut. Saat ini dikenal ada 3 algoritma :

  • Teknik Radiosity : Teknik ini merupakan teknik render berdasarkan analisis rinci refleksi cahaya dari permukaan difusi. Teknik ini membagi bidang menjadi bidang yang lebih kecil untuk menemukan detail warna sehingga prosesnya berlangsung lambat, namun visualisasi yang dihasilkan sangat rapi dan halus. Radiosity lebih tepat digunakan untuk gambar diam atau hasil akhir dari suatu objek. Kurang tepat jika digunakan untuk rendering objek yang sifatnya real-time seperti pada game atau simulasi.
  • Teknik Ray Tracing : Satu lagi teknik rendering yang cukup baik digunakan untuk gambar diam atau efek-efek pada film adalah ray tracing. Teknik ini bertujuan untuk mensimulasikan gerakan melalui cahaya. Secara sederhana, teknik ray tracing memperhitungkan nilai warna sinar dan nilai koefisien pantul dari benda dalam penentuan warna penggambaran pada layar. Dengan mnggunakan teknik ray tracing ini, dapat diperoleh efek seperti reflection, refraction, scattering, dan chromatic aberration.
  • Teknik Ray Casting : Teknik lain yang dinilai cukup cepat adalah ray casting (atau juga dikenal sebagai Backward Ray Tracing). Penelusuran cahaya dilakukan bukan dari sumber cahaya seperti halnya ray tracing, namun penelusuran cahaya diterima oleh mata (atau kamera), kemudian dilakukan penelusuran dari objek dimana asal sinar tersebut dan dari objek tersebut dicari sumber cahayanya. Teknik ini digunakan untuk simulasi real-time seperti game computer atau animasi kartun, ketika detail tidaklah begitu penting. Pada teknik ini digunakan sampling untuk menampilkan hasil. Hasilnya tidak sebaik seperti pada teknik ray tracing, namun proses rendering yang dilakukan dapat berlangsung dengan cepat. Game Doom adalah salah satu contoh penggunaan rendering dengan teknik ray casting.
Metode Rendering
Ada beberapa metode rendering yang paling sederhana dalam grafika 3D diantaranya yaitu: 

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, tetapi beberapa garis tidak terlihat karena adanya permukaan yang menghalanginya.
Metode ini lebih lambat 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.

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

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

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 transparan. Sehingga sering terjadi kesalahpahaman antara sisi depan dan sisi belakang dari sebuah objek.


Referensi :
Dummies. 2002. "3D Rendering". http://www.3drender.com/glossary/3drendering.htm. 24 Oktober 2016.

Listianawati, Weny. 2011. "Proses Rendering dan Animasi serta Contoh Nyatanya". https://wenythepooh.wordpress.com/2011/02/22/proses-rendering-dan-animasi-serta-contoh-nyatanya. 24 Oktober 2016

Lasantha. 2010. "Teknologi Dibalik CGI 3D : Pemodelan 3D, Layout, Animation, dan Rendering" . http://soulofmyheart.blogspot.co.id/2010/03/teknologi-di-balik-cgi-3d-pemodelan-3d.html. 24 Oktober 2016



0 komentar:

Posting Komentar