close

RenderMan

Przejdź do nawigacji Przejdź do wyszukiwania
RenderMan
RenderMan Logo.svg
Informacje ogólne
typ programu śledzenie promieni
deweloper pixar
Licencja oprogramowanie własnościowe
Wersje
Najnowsza stabilna wersja 22 ( wrzesień 2018)
czytelne pliki
Strumień bajtów interfejsu RenderMan
Spinki do mankietów

RenderMan to zarówno oprogramowanie, jak i interfejs API opracowany przez firmę Pixar do rozproszonego renderowania w sieci złożonych obrazów 3D , który jest używany w farmach renderujących z wieloma komputerami klienckimi . Te komputery klienckie nie wymagają kart graficznych 3D , chociaż mogą z nich korzystać, jeśli są obecne.

Proces

Renderowanie scen i animacje śledzenia promieni zawierające:

Przetwarzanie ich na zwykłym komputerze może zająć dużo czasu, w zależności od złożoności i rozmiaru poszczególnych obrazów. W przypadku animacji liczba klatek na sekundę i całkowity czas trwania sekwencji animacji mogą również znacznie wydłużyć całkowity czas renderowania.

Proces renderowania można przyspieszyć, dzieląc ogólne obrazy indywidualnie na, powiedzmy, fragmenty 10 x 10 pikseli , i rozprowadzając obliczenia każdego fragmentu na dużą kolekcję innych komputerów klienckich w sieci. W przypadku bardzo złożonych obrazów i bardzo dużych farm serwerów poszczególne piksele mogą być dystrybuowane do przetwarzania przez każdego klienta.

Firmy i uniwersytety mogą używać komputerów biurowych lub laboratoryjnych do wykonywania intensywnych nocnych renderingów, gdy komputery są bezczynne. Można to również wykonywać w sposób ciągły jako proces w tle o niskim priorytecie na komputerach biurowych i laboratoryjnych.

Historia

Image
Uniwersytet w Utah, jedno z początków RenderMan

RenderMan wywodzi się z Uniwersytetu Utah w latach 70., gdzie założyciel Pixar, Ed Catmull , wykonał swoją pracę doktorską na temat problemów z renderowaniem . [ 1 ] Stamtąd scena przeniosła się do Lucasfilm w Kalifornii, gdzie Catmull i kilku innych badaczy grafiki przyszło pracować nad oprogramowaniem graficznym specjalnie do użytku w filmie (część Lucasfilm później przekształciła się w Pixar).

Image
Tarcza Nowojorskiego Instytutu Technologii

Naukowcy mieli wyraźny cel, aby móc tworzyć złożone, wysokiej jakości fotorealistyczne obrazy [ 1 ] , które z definicji byłyby praktycznie nie do odróżnienia od materiałów filmowych z akcji na żywo. Zaczęli tworzyć silnik renderujący, aby pomóc im osiągnąć ten cel, miał on innowacyjną architekturę zaprojektowaną od podstaw, wykorzystującą wiedzę techniczną zdobytą podczas wcześniejszych badań przeprowadzonych zarówno w Utah , jak i NYIT . Loren Carpenter zaimplementował podstawowe części silnika renderującego, a Rob Cook napisał podsystem shadera. Pat Hanrahan pełnił funkcję głównego architekta całego projektu. Algorytm renderowania został nazwany REYES, [ 1 ] nazwa o podwójnym pochodzeniu. Zainspirował go Point Reyes , malownicze miejsce na wybrzeżu Kalifornii , które Carpenter lubił odwiedzać. Dla zespołu programistów nazwa ta była również skrótem od Render Everything You Ever Saw , wygodnego wyrażenia podsumowującego ich ambitne przedsięwzięcie.

Na konferencji SIGGRAPH w 1987 roku Cook, Carpenter i Catmull przedstawili artykuł zatytułowany The Reyes Rendering Architecture , który wyjaśniał, jak działa silnik renderujący . [ 1 ] Później w SIGGRAPH w 1990, język cieniowania został opisany w artykule zatytułowanym. Język do obliczeń cieniowania i oświetlenia autorstwa Hanrahana i Jima Lawsona. [ 1 ] W 1989 roku program stał się znany jako RenderMan i zaczął być licencjonowany do efektów wizualnych przez firmy CGI i animacje. Dodatkowo dział Lucasfilm CG został wydzielony we własnej firmie Pixar w 1983 roku i został kupiony przez Steve'a Jobsa w 1986 roku. [ 1 ]

Mimo że oferta publiczna RenderMana miała miejsce dopiero w 1989 r., oprogramowanie to było używane wewnętrznie w firmie Lucasfilm/Pixar na długo wcześniej, do tworzenia efektów wizualnych do filmów, animowanych filmów krótkometrażowych i reklam telewizyjnych. [ 1 ]

W 1982 roku efekt Genesis w filmie Star Trek II: Gniew Khana został stworzony przy użyciu wcześniejszej wersji RenderMana, ponieważ był on szklanym rycerzem z filmu The Young Sherlock Holmes z 1985 roku. [ 1 ]

Obecnie RenderMan jest rutynowo używany przez największe studia animacji i efektów wizualnych na całym świecie dzięki swoim niezrównanym doświadczeniom – jest szybki, stabilny i wydajny, jeśli chodzi o obsługę dużych scen o złożonej geometrii, [ 1 ] wyglądzie powierzchni i oświetleniu. [ 1 ] Dane wyjściowe to wysokiej jakości obraz, który można wykorzystać sam (np. w filmach animowanych) lub gotowy do komponowania z istniejącymi obrazami (np. w filmach aktorskich).

Historycznie, pierwszym wcieleniem RenderMana był program Macintosh działający na procesorach Motorola 68000/68030, System 6 i LocalTalk. render kalkulacje farmy były wyświetlane indywidualnie; na przykład szybki Macintosh SE /30 z wydrukiem monochromatycznym mógłby uczestniczyć w renderowaniu obrazów w pełnym kolorze, wysyłając wyniki z powrotem do wolniejszego, ale obsługującego kolor Macintosha II .

Terminologia

Nazwa RenderMan może wprowadzać zamieszanie, ponieważ została użyta w odniesieniu do różnych osiągnięć Pixara:

  • RenderMan Shading Language ( RSL ) , język skryptowy , który określa wszystkie cieniowanie wykonywane przez RenderMan. Ma składnię podobną do C [ 3 ] i zawiera zestaw wbudowanych funkcji bezpośrednio związanych z grafiką i RenderManem. [ 4 ]
  • PhotoRealistic RenderMan ( PRMan ) , system oprogramowania renderującego RenderMan, czyli kompatybilna implementacja, opracowana przez firmę Pixar na podstawie własnej specyfikacji.
  • RenderMan jest również powszechnie używany w odniesieniu do innych silników renderujących zgodnych ze standardem RenderMan, takich jak Pixie. [ 5 ]

Specyfikacja interfejsu RenderMan (RISpec)

Jest to standard wśród programów do modelowania i renderowania, zdolny do tworzenia obrazów o fotorealistycznej jakości . [ 6 ] Program renderujący, który implementuje interfejs RenderMan różni się od implementacji wcześniejszych standardów graficznych tym, że: [ 6 ]

  • Musi symulować prawdziwą kamerę i jej liczne atrybuty, oprócz pozycji i kierunku widzenia.
  • Musi akceptować prymitywy o zakrzywionej geometrii, aby można było nie tylko dokładnie wyświetlać geometrię podstawową.
  • Musi być w stanie symulować właściwości optyczne różnych materiałów i źródeł światła.

Został zaprojektowany tak, aby informacje potrzebne do określenia obrazu fotograficznego mogły być przekazywane do różnych programów renderujących w sposób zwarty i wydajny. Sam interfejs został zaprojektowany do obsługi różnych urządzeń sprzętowych , implementacji oprogramowania i algorytmów renderowania . Aktualna wersja specyfikacji to 3.2.1 . [ 6 ]

Język cieniowania RenderMan (RSL)

Jest to potężny język cieniowania, który pozwala użytkownikom pisać niestandardowe programy zwane shaderami , aby w pełni definiować powierzchnie i ich interakcję ze źródłami światła. [ 1 ]​ Te shadery są podzielone na:

shadery powierzchni

Obsługuje obliczanie koloru i nieprzezroczystości powierzchni prymitywów. Ocenia teksturę , odbicia, załamanie i model oświetlenia (Lambert, Blinn itp.) materiału. [ 3 ] Działają one w połączeniu z modułami cieniowania światła , aby określić ilość światła padającego na powierzchnię w celu „oświetlenia” obiektu. Współpracują również z modułami do cieniowania objętości , aby określić, ile koloru objętościowego i nieprzezroczystości jest dodawane do ostatecznego koloru cieniowania i nieprzezroczystości powierzchni. [ 4 ]

Shadery przemieszczeń

Przesuń punkty powierzchni w czasie renderowania i ponownie oblicz nowe normalne powierzchni. zajmują się również mapowaniem wypukłości, po prostu ponownie obliczając normalną bez przesuwania punktu na powierzchni. [ 4 ]

Shadery głośności

Tworzenie efektów wolumetrycznych, takich jak zamglenie atmosferyczne, dym, cienie atmosferyczne itp., można wykorzystać na trzy sposoby: jako shadery otoczenia , shadery wewnętrzne lub zewnętrzne . Shader środowiska renderuje efekty głośności między kamerą a widocznymi punktami powierzchni (wzdłuż promieni kamery). Wewnętrzne shadery są oceniane wewnątrz częściowo przezroczystych obiektów, podczas gdy zewnętrzne shadery są oceniane, gdy promienie są odbijane/załamywane między obiektami i dają tłumienie atmosferyczne. [ 4 ]

Shadery światła

Odpowiadają za obliczenia cieni, korzystając z wstępnie obliczonych map cieni lub bezpośrednio obliczając cienie za pomocą ray tracingu . Można je wywoływać podczas wykonywania shaderów powierzchni i shaderów atmosfery w celu określenia intensywności i koloru oświetlenia bieżącego punktu cieniowania. [ 4 ]

Fotorealistyczny RenderMan (PRMan)

Jest to zintegrowany silnik renderujący o wysokiej wydajności, używany do rozwiązywania skomplikowanych scen 3D. Oferuje imponujące wyniki i jest obecnie uważany za silnik hybrydowy, który łączy najnowsze osiągnięcia w ray tracingu z tradycyjnymi obszarami, które były mocnymi stronami. [ 7 ] Jest używany przez niektóre instytucje edukacyjne do testowania nowych koncepcji w CGI. [ 8 ]

RenderMan

Istnieje wiele silników renderujących opartych na RISpec, zarówno komercyjnych , takich jak sam Renderman Pro Server [ 7 ] lub 3dlight [ 9 ] , jak i open source Pixie RenderMan. [ 5 ]

Referencje

  1. a b c d e f g h i j k Raghavachary, Saty. „Krótkie wprowadzenie do RenderMana” (HTML ) . USA: Pixar . Źródło 13 października 2014 .  
  2. ^ „Specyfikacja interfejsu RenderMan” (HTML ) . USA . Źródło 12 października 2014 .  
  3. ^ a b „Pisanie i kompilowanie prostego modułu cieniującego” (HTML ) . Stany Zjednoczone . Źródło 12 października 2014 .  
  4. ^ a b c d e "Wprowadzenie do cieniowania" (HTML ) . Stany Zjednoczone . Źródło 12 października 2014 .  
  5. ^ a b "Pixie Open Source RenderMan" (HTML ) . USA . Źródło 12 października 2014 .  
  6. a b c "Interfejs RenderMan w wersji 3.2.1" (PDF ) . ZASTOSOWANIA. Listopad 2005. Zarchiwizowane z oryginału 23 maja 2015 . Źródło 12 października 2014 . 
  7. ^ a b „RenderMan” (HTML ) . USA . Źródło 12 października 2014 .  
  8. Dżem Cyrusa; Mike Bailey (2005). „Korzystanie z fotorealistycznego RenderMana do wysokiej jakości bezpośredniego renderowania objętości” . Centrum Superkomputerowe w San Diego, Uniwersytet Kalifornijski w San Diego .  
  9. „Przegląd – 3Delight” (HTML) (w języku angielskim) . ZASTOSOWANIA. Zarchiwizowane z oryginału w dniu 22 września 2014 r . Źródło 12 października 2014 . 

Linki zewnętrzne