Teknik Diffusi Texture Space untuk Menghasilkan Efek Scattering pada Bahan

Teknik Diffusi Texture Space untuk Menghasilkan Efek Scattering pada Bahan

Diffusion adalah salah satu efek yang paling umum terjadi ketika menggunakan subsurface scattering. Sebagai alternatif, Anda tidak perlu secara arbitrer mengubah fungsi diffuse, melainkan dapat memodelkannya dengan lebih akurat di texture space.

Teknik ini awalnya diperkenalkan dalam rendering wajah pada film "The Matrix Reloaded", tetapi sekarang juga digunakan dalam teknik rendering real-time. Cara kerja dari teknik ini adalah sebagai berikut:

Pertama, Anda harus mengunwrapping mesh objek menggunakan shader vertex, dan kemudian menghitung lighting berdasarkan koordinat vertex asli. Kemudian, verteks-vertks tersebut dipeta ulang menggunakan koordinat texture UV sebagai posisi layar vertex, yang ditransformasikan dari rentang [0, 1] menjadi rentang [-1, 1] dari koordinat normalized device.

Dengan demikian, Anda akan mendapatkan gambar 2D yang merepresentasikan lighting pada objek, yang kemudian dapat diproses dan diaplikasikan kembali ke model sebagai light map. Untuk menghasilkan efek diffusion, Anda hanya perlu melancarkan filter Gaussian ke texture light map tersebut.

Pemrosesan diffusion ini memiliki beberapa manfaat. Pertama, teknik ini independen terhadap resolusi layar, sehingga shading hanya perlu dilakukan sekali per texel pada texture map, tidak seperti pada setiap pixel objek. Kedua, teknik ini dapat menghasilkan efek soft shadow, yang membantu mengurangi masalah realisme dari rendering shadow mapping.

Namun, untuk mendapatkan hasil yang lebih akurat, Anda perlu melakukan beberapa tweaking, seperti melancarkan filter Gaussian dengan berbagai level dan melakukan weighting pada channel-channel gambar. Hal ini memerlukan proses yang agak subjektif, terutama ketika menghasilkan efek scattering pada material seperti kulit manusia.

Rujukan

  • "Finish: Subsurface Light Transport". POV-Ray wiki. Agustus 8, 2012.
  • Krishnaswamy, A; Baronoski, GVG (2004). "A Biophysically-based Spectral Model of Light Interaction with Human Skin" (PDF). Computer Graphics Forum. 23(3).
  • Green, Simon (2004). "Real-time Approximations to Subsurface Scattering". GPU Gems.
  • Nagy, Z; Klein, R (2003). Depth-Peeling for Texture-based Volume Rendering (PDF). 11th Pacific Conference on Computer Graphics and Applications.
  • Borshukov, G; Lewis, J. P. (2005). "Realistic human face rendering for 'The Matrix Reloaded'" (PDF). Computer Graphics. ACM Press.
  • d'Eon, E (2007). "Advanced Skin Rendering" (PDF). GDC 2007.

Sumber

  • Website Henrik Wann Jensen tentang subsurface scattering
  • Makalah akademik oleh Jensen pada modeling subsurface scattering
  • Tutorial Maya – Menggunakan shader Miss_S_Fast_Simple_Maya untuk rendering wajah manusia
  • Tutorial 3ds Max – Menghasilkan efek scattering pada wajah manusia dengan menggunakan plugin Miss_S_Fast_Simple_Maya
  • Tutorial Blender – Menghasilkan efek scattering pada wajah manusia

Subsurface Scattering

Subsurface scattering adalah mekanisme penyebaran cahaya ketika cahaya memasuki objek atau permukaan. Sebaliknya, cahaya tersebut tidak tercermin seperti pada permukaan metal, melainkan sebagian besar cahaya digunakan oleh material dan kemudian disebarkan di dalam. Behavor ini sering dikenal dengan singkatan SSS (Subsurface Scattering).

Banyak material yang ada di alam memiliki subsurface scattering, seperti kulit atau lilin. Untuk informasi lebih lanjut, lihat halaman berikut:

  • Mengaktifkan Subsurface dalam Proyek
  • Parameter Subsurface
  • Tipe Material Subsurface

Leave a comment