Jak działa najnowocześniejszy rendering włosów w czasie rzeczywistym?

15

Powszechnie wiadomo, że symulacja i rendering włosów jest szczególnie trudny i w rzeczywistości rzadkie są przykłady w grach, w których proponowane są wiarygodne włosy. Łatwo jest sobie wyobrazić, jak trudno jest symulować dużą ilość włókien i symulować różne zdarzenia rozpraszania, które mogą się zdarzyć między tak wieloma pasmami, nie mówiąc już o tym, że każde z nich jest półprzezroczyste.

Czy ktoś może sformalizować, jakie są główne wyzwania w renderowaniu włosów, zwłaszcza w scenariuszach w czasie rzeczywistym? Jak można je pokonać dzięki najnowocześniejszym technikom? Czy zastosowano jakieś de facto standardowe modele teoretyczne?

Aby wyjaśnić, w czasie rzeczywistym niekoniecznie mam na myśli kontekst gry.

CIFZ
źródło

Odpowiedzi:

7

Przepraszam za złą jakość mojej odpowiedzi. Obecnie nie mam dostępu do komputera, a edycja z mojego telefonu nie jest prostym zadaniem. W szczególności chciałbym móc wklejać obrazy.

Powiedziałbym, że główne wyzwania związane z symulacją włosów to:

  • powielając ich bardzo specyficzną reakcję na oświetlenie (jako materiał)
  • powielanie ich właściwości objętościowych (jako geometria)
  • animując je w realistyczny sposób

Oto lista odniesień, które zebrałem na ten temat, uporządkowanych chronologicznie (głównie o części renderującej) :

  1. JAMES T. KAJIYA, TIMOTHY L. KAY, Rendering Fur With Three Dimensional Texture , 1989
  2. JEROME LENGYEL, EMIL PRAUN, ADAM FINKELSTEIN, HUGUES HOPPE, Futro w czasie rzeczywistym na powierzchniach arbitralnych , 2000
  3. STEPHEN R. MARSCHNER, HENRIK WANN JENSEN, MIKE CAMMARANO, Rozpraszanie światła z włókien włosów ludzkich , 2003
  4. ARMIN BRUDERLIN, SUNIL HADAP, TAE-YONG KIM, NADIA MAGNENAT-THALMANN, ULRICH NEUMANN, YIZHOU YU, STEVE WORLEY, Fotorealistyczne modelowanie włosów, animacja i rendering , kurs Siggraph 2003
  5. THORSTEN SCHEUERMANN, Rendering i cieniowanie włosów , ShaderX3, 2004
  6. THORSTEN SCHEUERMANN, Rendering i cieniowanie włosów , ATI / GDC 2004
  7. THORSTEN SCHEUERMANN, Praktyczne renderowanie i cieniowanie włosów w czasie rzeczywistym , ATI / Siggraph 2004
  8. THORSTEN SCHEUERMANN, Praktyczne renderowanie i cieniowanie włosów w czasie rzeczywistym , ATI / Siggraph 2004 (slajdy)
  9. MARTIN KOSTER, JORG HABER, HANS-PETER SEIDEL, Renderowanie ludzkich włosów w czasie rzeczywistym za pomocą programowalnego sprzętu graficznego , 2004
  10. HUBERT NGUYEN, WILLIAM DONNELLY, Animacja włosów i rendering w Demo Nalu , GPU Gems 2 (Rozdział 23), 2005
  11. LENA PETROVIC, MARK HENNE, JOHN ANDERSON, Metody wolumetryczne do symulacji i renderowania włosów , Pixar 2006
  12. CHRISTOPHE HERY, RAVI RAMAMOORTHI, Ważność Próbkowanie odbić od włókien włosów , Pixar 2007
  13. SARAH TARIQ, LOUIS BAVOIL, Rendering włosów w czasie rzeczywistym na GPU , Siggraph 2008.
  14. ARNO ZINKE, CEM YUKSEL, ANDREAS WEBER, JOHN KEYSER, Przybliżenie podwójnego rozproszenia dla szybkiego wielokrotnego rozproszenia we włosach , Siggraph 2008
  15. IMAN SADEGHI, HEATHER PRITCHETT, HENRIK WANN JENSEN, RASMUS TAMSTORF, przyjazny dla artystów system cieniowania włosów , 2010
  16. EUGENE D'EON, GUILLAUME FRANCOIS, MARTIN HILL, JOE LETTERI, JEAN-MARIE AUBRY, Energooszczędny model odblaskowy włosów , 2011
  17. XUAN YU, JASON C. YANG, JUSTIN HENSLEY, TAKAHIRO HARADA, JINGYI YU, Ramy renderowania złożonych efektów rozpraszania włosów , 2012
  18. JIAWEI OU, FENG XIE, PARASHAR KRISHNAMACHARI, FABIO PELLACINI, ISHair: Ważność próbkowania rozproszenia włosów , 2012
  19. SARAH INVERNIZZI, On Physical Based Rendering Hair , 2013
  20. WOLFGANG ENGEL, Rendering włosów w Tomb Raider , 2013
  21. EUGENE D'EON, STEVE MARSCHNER, JOHANNES HANIKA, Ważność próbkowania modeli opartych na fizycznym włóknie włosów , 2013
  22. TIMOTHY MARTIN, WOLFGANG ENGEL, NICOLAS THIBIEROZ, JASON YANG i JASON LACROIX, TressFX: Advanced Rendering włosów w czasie rzeczywistym , GPU Pro 5, 2015
  23. LEONID PEKELIS, CHRISTOPHE HERY, RYUSUKE VILLEMIN, JUNYI LING, Model rozpraszania światła oparty na danych dla włosów , Pixar 2015

Nie przeczytałem jeszcze wszystkich tych materiałów, ale oto trochę tego, co pamiętam (bardziej interesują mnie rozwiązania w czasie rzeczywistym):

  • Kajiya-kay położył podwaliny pod realistyczne renderowanie włosów / futra
  • Marschner zaproponował ulepszony model i zauważył, że włosy mają dwa wyraźne odblaski (jeden biały z powodu bezpośredniego odbicia, drugi kolor i lśniący z powodu odbicia wewnątrz włókna włosów)
  • Scheuermann zaproponował aproksymacje w celu symulacji zachowania opisanego przez Marschnera, aproksymacje odpowiednie dla czasu rzeczywistego (przy użyciu sztuczek, takich jak dwie oddzielne refleksy lustrzane, artystyczne przesunięcie i wykładnik lustrzane, tekstury szumu). Zaproponował także użycie trzech pasm renderowania (nieprzezroczysty, przezroczysty tył i przód) wielokątów do symulacji „objętościowych” właściwości włosów
  • Większość gier, o których słyszałem, wydaje się wykorzystywać metody Scheuermanna do cieniowania włosów. Nie jest to jednak rozwiązanie oszczędzające energię. Niemniej jednak uważam, że d'Eon próbuje rozwiązać ten problem w artykule z 2011 roku.
    Innym interesującym tematem jest teselacja, która ostatnio została również zastosowana w celu zastąpienia podejścia wielokątnego i indywidualnej symulacji pasm włosów.

Świat renderowania offline stara się rozwiązywać bardziej zaawansowane wyzwania. Myślę, że większość z nich jest opisanych w odnośnikach powyżej.

wycierać
źródło