Bagaimana cara kerja rendering rambut waktu nyata?

15

Sudah menjadi rahasia umum bahwa simulasi dan render rambut sangat menantang dan bahkan jarang adalah contoh dalam game yang mengusulkan rambut yang bisa dipercaya. Sangat mudah untuk membayangkan betapa sulitnya untuk benar-benar mensimulasikan jumlah serat yang tinggi dan untuk mensimulasikan berbagai peristiwa hamburan yang mungkin terjadi di antara begitu banyak helai, apalagi fakta bahwa masing-masing serat tembus cahaya.

Bisakah seseorang memformalkan tantangan utama dalam merender rambut, terutama untuk skenario waktu nyata? Bagaimana ini diatasi dengan teknik canggih? Apakah ada beberapa model teoritis standar de-facto yang digunakan?

Untuk memperjelas, secara real time saya tidak perlu bermaksud dalam konteks game.

cifz
sumber

Jawaban:

7

Maaf untuk kualitas jawaban saya yang buruk. Saya tidak memiliki akses ke komputer saat ini dan mengedit dari telepon saya bukanlah tugas yang mudah. Secara khusus saya ingin dapat menempelkan gambar.

Saya akan mengatakan bahwa tantangan utama simulasi rambut adalah:

  • meniru reaksi mereka yang sangat spesifik terhadap pencahayaan (sebagai bahan)
  • mereplikasi properti volumetriknya (sebagai geometri)
  • menjiwai mereka dengan cara yang realistis

Berikut adalah daftar referensi yang saya kumpulkan tentang subjek, yang dipesan secara kronologis (terutama tentang bagian rendering) :

  1. JAMES T. KAJIYA, TIMOTHY L. KAY, Rendering Fur Dengan Tekstur Tiga Dimensi , 1989
  2. JEROME LENGYEL, EMIL PRAUN, ADAM FINKELSTEIN, HUGUES HOPPE, Bulu Real-Time dari Permukaan Sewenang-wenang , 2000
  3. STEPHEN R. MARSCHNER, HENRIK WANN JENSEN, MIKE CAMMARANO, Hamburan Cahaya dari Serat Rambut Manusia , 2003
  4. ARMIN BRUDERLIN, SUNIL HADAP, TAE-YONG KIM, NADIA MAGNENAT-THALMANN, ULRICH NEUMANN, YIZHOU YU, STEVE WORLEY, Pemodelan Rambut Fotorealistik, Animasi, dan Rendering , Kursus Siggraph 2003
  5. THORSTEN SCHEUERMANN, Hair Rendering and Shading , ShaderX3, 2004
  6. SCHEUERMANN THORSTEN, Rendering Rambut dan Shading , ATI / GDC 2004
  7. THORSTEN SCHEUERMANN, Rendering dan Shading Rambut Praktis Real-Time , ATI / Siggraph 2004
  8. THORSTEN SCHEUERMANN, Rendering dan Shading Rambut Praktis Real-Time , ATI / Siggraph 2004 (slide)
  9. MARTIN KOSTER, JORG HABER, HANS-PETER SEIDEL, Real-Time Rendering Rambut Manusia menggunakan Programmable Graphics Hardware , 2004
  10. HUBERT NGUYEN, WILLIAM DONNELLY, Animasi Rambut dan Rendering dalam Demo Nalu , GPU Permata 2 (Bab 23), 2005
  11. LENA PETROVIC, MARK HENNE, JOHN ANDERSON, Metode Volumetrik untuk Simulasi dan Rendering Rambut , Pixar 2006
  12. CHRISTOPHE HERY, RAVI RAMAMOORTHI, Pengambilan Sampel Penting dari Refleksi dari Serat Rambut , Pixar 2007
  13. SARAH TARIQ, LOUIS BAVOIL, Rendering Rambut Real-Time pada GPU , Siggraph 2008.
  14. ARNO ZINKE, CEM YUKSEL, ANDREAS WEBER, JOHN KEYSER, Pendekatan Penghamburan Ganda untuk Penghamburan Berganda Cepat di Rambut , Siggraph 2008
  15. IMAN SADEGHI, PRITCHETT HEATHER, HENRIK WANN JENSEN, RASMUS TAMSTORF, Sistem Shading Rambut Ramah Seniman , 2010
  16. EUGENE D'EON, GUILLAUME FRANCOIS, MARTIN HILL, JOE LETTERI, JEAN-MARIE AUBRY, Model Reflektansi Rambut Hemat Energi , 2011
  17. XUAN YU, JASON C. YANG, JUSTIN HENSLEY, TAKAHIRO HARADA, JINGYI YU, Kerangka Kerja Menghasilkan Efek Hamburan Kompleks pada Rambut , 2012
  18. JIAWEI OU, FENG XIE, PARASHAR KRISHNAMACHARI, FABIO PELLACINI, ISHair: Pengambilan Sampel Penting untuk Hamburan Rambut , 2012
  19. SARAH INVERNIZZI, Pada Rendering Rambut Berbasis Fisik , 2013
  20. WOLFGANG ENGEL, Rendering Rambut di Tomb Raider , 2013
  21. EUGENE D'EON, STEVE MARSCHNER, JOHANNES HANIKA, Pengambilan Sampel Penting untuk Model Serat Rambut Berbasis Fisik , 2013
  22. TIMOTHY MARTIN, WOLFGANG ENGEL, NICOLAS THIBIEROZ, JASON YANG, DAN JASON LACROIX, TressFX: Penataan Rambut Real-Time Lanjutan , GPU Pro 5, 2015
  23. LEONID PEKELIS, CHRISTOPHE HERY, RYUSUKE VILLEMIN, JUNYI LING, Model Penghamburan Cahaya Berbasis Data untuk Rambut , Pixar 2015

Saya belum membaca semua materi ini, tetapi ini adalah sedikit dari apa yang saya ingat (saya lebih tertarik dengan solusi real-time):

  • Kajiya-kay meletakkan dasar untuk rendering rambut / bulu yang realistis
  • Marschner mengusulkan model yang lebih baik, dan mencatat bahwa rambut memiliki dua highlight specular yang berbeda (satu putih karena pantulan langsung, yang lain berwarna dan berkilau karena pantulan di dalam serat rambut)
  • Scheuermann mengusulkan perkiraan untuk mensimulasikan perilaku yang dijelaskan oleh Marschner, perkiraan yang cocok untuk waktu-nyata (menggunakan trik seperti dua highlight specular yang terpisah, offset dan eksponen specular yang dirancang oleh seniman, tekstur noise). Dia juga mengusulkan menggunakan tiga rendering pass (buram, transparan bagian belakang dan depan) dari poligon untuk mensimulasikan kualitas "volumetrik" rambut
  • Sebagian besar permainan yang saya dengar tampaknya menggunakan pendekatan Scheuermann untuk peneduhan rambut. Namun, ini bukan solusi hemat energi. Namun demikian, saya pikir d'Eon berupaya untuk memperbaiki masalah ini di makalah 2011.
    Topik lain yang menarik adalah penggunaan tessellation, yang juga telah digunakan baru-baru ini untuk menggantikan pendekatan poligonal dan mensimulasikan helai rambut secara individual.

Dunia render offline berupaya memecahkan tantangan yang lebih maju. Saya pikir kebanyakan dari mereka dijelaskan dalam referensi di atas.

usap
sumber