Renderowanie 3D
Trójwymiarowa (3D) grafika komputerowa |
---|
Podstawy |
Podstawowe zastosowania |
powiązane tematy |
Renderowanie 3D to proces grafiki komputerowej 3D polegający na przekształcaniu modeli 3D w obrazy 2D na komputerze . Rendery 3D mogą zawierać fotorealistyczne efekty lub niefotorealistyczne style .
Metody renderowania
Renderowanie to końcowy proces tworzenia rzeczywistego obrazu 2D lub animacji z przygotowanej sceny. Można to porównać do robienia zdjęć lub filmowania sceny po zakończeniu konfiguracji w prawdziwym życiu. Opracowano kilka różnych i często wyspecjalizowanych metod renderowania. Obejmują one od wyraźnie nierealistycznego szkieletowego , przez renderowanie oparte na wielokątach, po bardziej zaawansowane techniki, takie jak: renderowanie linii skanowania , ray tracing lub radiosity . Renderowanie pojedynczego obrazu/klatki może trwać od ułamków sekundy do kilku dni. Ogólnie rzecz biorąc, różne metody lepiej nadają się do renderowania fotorealistycznego lub renderowania w czasie rzeczywistym .
Czas rzeczywisty
Renderowanie mediów interaktywnych, takich jak gry i symulacje, jest obliczane i wyświetlane w czasie rzeczywistym z szybkością około 20 do 120 klatek na sekundę. W przypadku renderowania w czasie rzeczywistym celem jest pokazanie jak największej ilości informacji, jaką oko może przetworzyć w ułamku sekundy (inaczej „w jednej klatce”): w przypadku animacji z szybkością 30 klatek na sekundę klatka obejmuje jedną trzydziestą część sekundy).
Głównym celem jest osiągnięcie jak najwyższego stopnia fotorealizmu przy dopuszczalnej minimalnej szybkości renderowania (zwykle 24 klatki na sekundę, ponieważ jest to minimum, które ludzkie oko musi zobaczyć, aby z powodzeniem stworzyć iluzję ruchu). W rzeczywistości eksploatację można zastosować w sposobie, w jaki oko „postrzega” świat, w wyniku czego ostateczny przedstawiony obraz niekoniecznie jest obrazem świata rzeczywistego, ale wystarczająco bliskim, aby ludzkie oko mogło go tolerować.
Oprogramowanie do renderowania może symulować takie efekty wizualne jak flary obiektywu , głębia ostrości czy rozmycie w ruchu . Są to próby symulacji zjawisk wizualnych wynikających z właściwości optycznych aparatów i ludzkiego oka. Efekty te mogą nadać scenie element realizmu, nawet jeśli efekt jest jedynie symulowanym artefaktem aparatu. Jest to podstawowa metoda stosowana w grach, interaktywnych światach i VRML .
Gwałtowny wzrost mocy obliczeniowej komputerów umożliwił coraz wyższy stopień realizmu nawet w przypadku renderowania w czasie rzeczywistym, w tym technik takich jak renderowanie HDR . Renderowanie w czasie rzeczywistym jest często wielokątne i wspomagane przez procesor graficzny komputera .
Nie w czasie rzeczywistym
Renderowanie animacji dla mediów nieinteraktywnych, takich jak filmy fabularne i wideo, może zająć znacznie więcej czasu. Renderowanie w czasie innym niż rzeczywisty umożliwia wykorzystanie ograniczonej mocy obliczeniowej w celu uzyskania wyższej jakości obrazu. Czas renderowania poszczególnych klatek może wahać się od kilku sekund do kilku dni w przypadku złożonych scen. Wyrenderowane klatki są przechowywane na dysku twardym , a następnie przenoszone na inne nośniki, takie jak klisza filmowa lub dysk optyczny. Klatki te są następnie wyświetlane sekwencyjnie z dużą szybkością klatek, zazwyczaj 24, 25 lub 30 klatek na sekundę (fps), aby uzyskać iluzję ruchu.
Gdy celem jest fotorealizm, stosuje się techniki takie jak ray tracing , path tracing , foton mapping czy radiosity . Jest to podstawowa metoda stosowana w mediach cyfrowych i pracach artystycznych. Techniki zostały opracowane w celu symulacji innych naturalnie występujących efektów, takich jak interakcja światła z różnymi formami materii. Przykłady takich technik obejmują układy cząstek (które mogą symulować deszcz, dym lub ogień), próbkowanie objętościowe (w celu symulacji mgły, pyłu i innych przestrzennych efektów atmosferycznych), kaustykę (w celu symulacji skupiania światła przez nierówne powierzchnie załamujące światło, takie jak lekkie zmarszczki widoczne na dnie basenu) oraz rozpraszanie podpowierzchniowe (w celu symulacji światła odbijanego wewnątrz objętości ciał stałych, takich jak ludzka skóra ).
Proces renderowania jest kosztowny obliczeniowo, biorąc pod uwagę złożoną różnorodność symulowanych procesów fizycznych. Moc obliczeniowa komputerów gwałtownie wzrosła na przestrzeni lat, umożliwiając coraz wyższy stopień realistycznego renderowania. Studia filmowe, które produkują animacje generowane komputerowo, zazwyczaj wykorzystują farmę renderującą do generowania obrazów w odpowiednim czasie. Jednak spadające koszty sprzętu oznaczają, że jest całkowicie możliwe tworzenie niewielkich ilości animacji 3D na domowym systemie komputerowym, biorąc pod uwagę koszty związane z korzystaniem z farm renderujących. Dane wyjściowe renderera są często używane jako tylko niewielka część ukończonej sceny filmowej. Wiele warstw materiału można wyrenderować oddzielnie i zintegrować z końcowym ujęciem za pomocą do komponowania .
Modele odbicia i cieniowania
Modele odbicia/rozpraszania i cieniowania służą do opisu wyglądu powierzchni. Chociaż te kwestie mogą wydawać się problemami same w sobie, są one badane prawie wyłącznie w kontekście renderowania. Nowoczesna grafika komputerowa 3D w dużej mierze opiera się na uproszczonym modelu odbicia zwanym modelem odbicia Phonga (nie mylić z cieniowaniem Phonga ). W przypadku załamania światła ważnym pojęciem jest współczynnik załamania ; w większości implementacji programowania 3D termin określający tę wartość to „współczynnik załamania światła” (zwykle w skrócie IOR).
Cieniowanie można podzielić na dwie różne techniki, które często są badane niezależnie:
- Cieniowanie powierzchni - jak światło rozprzestrzenia się po powierzchni (najczęściej używane w renderowaniu linii skanowania do renderowania 3D w czasie rzeczywistym w grach wideo)
- Odbicie/rozpraszanie - jak światło oddziałuje z powierzchnią w danym punkcie (najczęściej stosowane w renderowaniu opartym na ray tracingu do fotorealistycznego i artystycznego renderowania 3D w czasie rzeczywistym, zarówno w nieruchomych obrazach CGI 3D, jak i nieinteraktywnych animacjach 3D CGI)
Algorytmy cieniowania powierzchni
Popularne algorytmy cieniowania powierzchni w grafice komputerowej 3D obejmują:
- Płaskie cieniowanie : technika cieniowania każdego wielokąta obiektu w oparciu o „normalną” wielokąta oraz pozycję i intensywność źródła światła
- Cieniowanie Gourauda : wynalezione przez H. Gourauda w 1971 roku; szybka i oszczędna technika cieniowania wierzchołków używana do symulowania gładko cieniowanych powierzchni
- Cieniowanie Phonga : wynalezione przez Bui Tuong Phonga ; używany do symulacji zwierciadlanych świateł i gładkich cieniowanych powierzchni
Odbicie
Odbicie lub rozproszenie to związek między oświetleniem przychodzącym i wychodzącym w danym punkcie. Opisy rozpraszania są zwykle podawane w postaci dwukierunkowej funkcji rozkładu rozpraszania lub BSDF.
Zacienienie
Cieniowanie określa, w jaki sposób różne rodzaje rozpraszania są rozmieszczone na powierzchni (tj. która funkcja rozpraszania ma zastosowanie gdzie). Opisy tego rodzaju są zwykle wyrażane za pomocą programu zwanego shaderem . Prostym przykładem cieniowania jest mapowanie tekstur , które wykorzystuje obraz do określenia rozproszonego koloru w każdym punkcie powierzchni, co daje bardziej widoczne szczegóły.
Niektóre techniki cieniowania obejmują:
- Mapowanie wypukłości : wynaleziona przez Jima Blinna technika normalnych zakłóceń używana do symulacji pomarszczonych powierzchni.
- Cel shading : Technika używana do imitowania wyglądu ręcznie rysowanej animacji.
Transport
Transport opisuje sposób, w jaki oświetlenie w scenie przemieszcza się z jednego miejsca do drugiego. Widoczność jest głównym elementem transportu lekkiego.
Występ
Cieniowane trójwymiarowe obiekty muszą zostać spłaszczone, aby urządzenie wyświetlające - czyli monitor - mogło wyświetlać je tylko w dwóch wymiarach, proces ten nazywa się projekcją 3D . Odbywa się to za pomocą projekcji i, w przypadku większości aplikacji, projekcji perspektywicznej . Podstawową ideą projekcji perspektywicznej jest to, że obiekty znajdujące się dalej są pomniejszane w stosunku do tych, które znajdują się bliżej oka. Programy tworzą perspektywę, mnożąc stałą dylatacji podniesioną do potęgi ujemnej odległości od obserwatora. Stała dylatacji równa jeden oznacza brak perspektywy. Wysokie stałe dylatacji mogą powodować efekt „rybiego oka”, w którym zaczyna się pojawiać zniekształcenie obrazu. Projekcja ortograficzna wykorzystywana jest głównie w aplikacjach CAD lub CAM , gdzie modelowanie naukowe wymaga precyzyjnych pomiarów i zachowania trzeciego wymiaru.
Silniki renderujące
Silniki renderujące mogą łączyć się lub być zintegrowane z oprogramowaniem do modelowania 3D, ale istnieje również samodzielne oprogramowanie. Niektóre silniki renderujące są kompatybilne z wieloma programami 3D, a niektóre są przeznaczone wyłącznie do jednego.
Zobacz też
- Renderowanie architektoniczne
- Okluzja otoczenia
- Wizja komputerowa
- Rurociąg geometrii
- Przetwarzanie geometrii
- Grafika
- Jednostka przetwarzania grafiki (GPU)
- Graficzne urządzenia wyjściowe
- Przetwarzanie obrazu
- Przemysłowe skanowanie CT
- Algorytm malarza
- Renderowanie równoległe
- Odbicie (grafika komputerowa)
- SIGGRAF
- Renderowanie objętościowe
Uwagi i odniesienia
- ^ Badler, Norman I. „Seria wykładów na temat modelowania obiektów 3D” ( PDF ) . Uniwersytet Północnej Karoliny w Chapel Hill . Zarchiwizowane (PDF) od oryginału w dniu 19.03.2013 r.
- ^ „Renderowanie niefotorealistyczne” . Uniwersytet Duke’a . Źródło 2018-07-23 .
- ^ „Nauka renderowania 3D” . Instytut Archeologii Cyfrowej . Źródło 2019-01-19 .
- ^ Christensen, Per H.; Jarosz, Wojciech. „Ścieżka do filmów ze śledzeniem ścieżki” ( PDF ) . Zarchiwizowane (PDF) od oryginału w dniu 2019-06-26.
- ^ „Jak faktycznie działa wycena farmy renderowania” . Farma Garażowa . 2021-10-24 . Źródło 2021-10-24 .
- ^ „Podstawy renderowania - funkcje odbicia” ( PDF ) . Uniwersytet Stanowy Ohio . Zarchiwizowane (PDF) od oryginału w dniu 11.06.2017 r.
- ^ Słowo shader jest czasami używane w programach opisujących lokalną zmienność geometryczną .
- ^ „Mapowanie wypukłości” . web.cs.wpi.edu . Źródło 2018-07-23 .
Linki zewnętrzne
- Jak rzeczy działają — grafika 3D
- Seria artykułów Historia grafiki komputerowej ( kopia Wayback Machine )