Renderowanie (grafika komputerowa)

Różnorodne techniki renderowania zastosowane do pojedynczej sceny 3D
Obraz utworzony przy użyciu POV-Ray 3.6

Renderowanie lub synteza obrazu to proces generowania fotorealistycznego lub niefotorealistycznego obrazu z modelu 2D lub 3D za pomocą programu komputerowego . Wynikowy obraz jest określany jako render . W pliku sceny zawierającym obiekty w ściśle określonym języku lub strukturze danych można zdefiniować wiele modeli . Plik sceny zawiera geometrię, punkt widzenia, teksturę , oświetlenie i o cieniowaniu opisujące wirtualną scenę. Dane zawarte w pliku sceny są następnie przekazywane do programu renderującego w celu przetworzenia i wyprowadzenia do obrazu cyfrowego lub obrazu grafiki rastrowej . Termin „renderowanie” jest analogiczny do pojęcia wrażenia artysty na temat sceny. Termin „renderowanie” jest również używany do opisania procesu obliczania efektów w programie do edycji wideo w celu uzyskania ostatecznego wyjścia wideo.

Renderowanie jest jednym z głównych podtematów grafiki komputerowej 3D iw praktyce jest zawsze połączone z innymi. Jest to ostatni ważny krok w potoku graficznym , nadający modelom i animacji ostateczny wygląd. Wraz ze wzrostem wyrafinowania grafiki komputerowej od lat 70. XX wieku stał się bardziej odrębnym tematem.

Renderowanie ma zastosowanie w architekturze , grach wideo , symulatorach , filmowych i telewizyjnych efektach wizualnych oraz wizualizacji projektów, z których każda wykorzystuje inną równowagę funkcji i technik. Dostępnych jest wiele różnych rendererów. Niektóre są zintegrowane z większymi pakietami do modelowania i animacji, inne są samodzielne, a niektóre są darmowymi projektami typu open source. W środku renderer to starannie zaprojektowany program oparty na wielu dyscyplinach, w tym fizyce światła , percepcji wzrokowej , matematyce i rozwój oprogramowania .

Chociaż szczegóły techniczne metod renderowania są różne, ogólne wyzwania związane z tworzeniem obrazu 2D na ekranie z reprezentacji 3D zapisanej w pliku sceny są obsługiwane przez potok graficzny w urządzeniu renderującym, takim jak GPU . GPU to specjalnie skonstruowane urządzenie, które pomaga procesorowi w wykonywaniu złożonych obliczeń renderowania. Jeśli scena ma wyglądać względnie realistycznie i przewidywalnie w wirtualnym oświetleniu, oprogramowanie do renderowania musi rozwiązać równanie renderowania . Równanie renderowania nie uwzględnia wszystkich zjawisk oświetleniowych, ale zamiast tego działa jako ogólny model oświetlenia dla obrazów generowanych komputerowo.

W przypadku grafiki 3D sceny mogą być wstępnie renderowane lub generowane w czasie rzeczywistym. Wstępne renderowanie to powolny, wymagający dużej mocy obliczeniowej proces, zwykle używany do tworzenia filmów, w którym sceny można generować z wyprzedzeniem, podczas gdy renderowanie w czasie rzeczywistym jest często wykonywane w grach wideo 3D i innych aplikacjach, które muszą dynamicznie tworzyć sceny. Akceleratory sprzętowe 3D mogą poprawić wydajność renderowania w czasie rzeczywistym.

Stosowanie

Kiedy obraz wstępny ( zwykle szkic szkieletowy ) jest gotowy, stosuje się renderowanie, które dodaje tekstury bitmapowe lub tekstury proceduralne , światła, mapowanie wypukłości i względne położenie względem innych obiektów. Rezultatem jest gotowy obraz, który widzi konsument lub zamierzony widz.

W przypadku animacji filmowych kilka obrazów (klatek) musi zostać wyrenderowanych i połączonych razem w programie zdolnym do wykonania tego rodzaju animacji. Większość programów do edycji obrazów 3D może to zrobić.

Cechy

Renderowany obraz można rozumieć pod kątem wielu widocznych cech. Renderowanie badań i rozwoju było w dużej mierze motywowane znalezieniem sposobów na ich efektywną symulację. Niektóre odnoszą się bezpośrednio do konkretnych algorytmów i technik, podczas gdy inne są tworzone razem.

  • Cieniowanie – jak zmienia się kolor i jasność powierzchni w zależności od oświetlenia
  • Texture-mapping – metoda nanoszenia detali na powierzchnie
  • Bump-mapping – metoda symulacji niewielkich nierówności na powierzchniach
  • Medium zamgławiające / uczestniczące - jak światło przygasa podczas przechodzenia przez nieprzezroczystą atmosferę lub powietrze
  • Cienie – efekt zasłaniania światła
  • Miękkie cienie – zmieniająca się ciemność spowodowana częściowo zasłoniętymi źródłami światła
  • Odbicie – lustrzane lub mocno błyszczące odbicie
  • Przezroczystość (optyka) , przezroczystość (grafika) lub nieprzezroczystość – ostra przepuszczalność światła przez ciała stałe
  • Przezroczystość – silnie rozproszona transmisja światła przez ciała stałe
  • Refrakcja – załamanie światła związane z przezroczystością
  • Dyfrakcja – zginanie, rozpraszanie i interferencja światła przechodzącego przez obiekt lub szczelinę, która zaburza promień
  • Oświetlenie pośrednie - powierzchnie oświetlone światłem odbitym od innych powierzchni, a nie bezpośrednio od źródła światła (znane również jako oświetlenie globalne)
  • Kaustyka (forma oświetlenia pośredniego) - odbicie światła od błyszczącego przedmiotu lub skupienie światła przez przezroczysty przedmiot w celu uzyskania jasnych świateł na innym obiekcie
  • Głębia ostrości — obiekty wydają się rozmyte lub nieostre, gdy znajdują się zbyt daleko przed lub za obiektem, na który ustawiono ostrość
  • Rozmycie w ruchu — obiekty wydają się rozmyte z powodu szybkiego ruchu lub ruchu kamery
  • Renderowanie niefotorealistyczne – renderowanie scen w stylu artystycznym, mające wyglądać jak obraz lub rysunek

Techniki

Renderowanie fraktalnego terenu za pomocą marszu promieni

Zbadano wiele algorytmów renderowania, a oprogramowanie używane do renderowania może wykorzystywać wiele różnych technik w celu uzyskania ostatecznego obrazu.

Śledzenie każdej cząstki światła w scenie jest prawie zawsze całkowicie niepraktyczne i zajęłoby ogromną ilość czasu. Nawet śledzenie fragmentu wystarczająco dużego, aby uzyskać obraz, zajmuje ogromną ilość czasu, jeśli próbkowanie nie jest inteligentnie ograniczone.

W związku z tym pojawiło się kilka luźnych rodzin bardziej wydajnych technik modelowania transportu lekkiego:

Czwarty typ techniki transportu światła, radiosity , zwykle nie jest stosowany jako technika renderowania, ale zamiast tego oblicza przejście światła, gdy opuszcza ono źródło światła i oświetla powierzchnie. Te powierzchnie są zwykle renderowane na wyświetlaczu przy użyciu jednej z pozostałych trzech technik.

Najbardziej zaawansowane oprogramowanie łączy dwie lub więcej technik w celu uzyskania wystarczająco dobrych wyników przy rozsądnych kosztach.

Inne rozróżnienie dotyczy algorytmów kolejności obrazów , które iterują po pikselach płaszczyzny obrazu, oraz algorytmów kolejności obiektów , które iterują po obiektach w scenie. Ogólnie rzecz biorąc, kolejność obiektów jest bardziej wydajna, ponieważ w scenie jest zwykle mniej obiektów niż pikseli.

Renderowanie i rasteryzacja linii skanowania

Reprezentacja obrazu na wysokim poziomie z konieczności zawiera elementy w innej domenie niż piksele. Te elementy są określane jako prymitywy . Na przykład na schematycznym rysunku segmenty linii i krzywe mogą być prymitywami. W graficznym interfejsie użytkownika okna i przyciski mogą być prymitywami. Podczas renderowania modeli 3D trójkąty i wielokąty w przestrzeni mogą być prymitywami.

Jeśli podejście do renderowania piksel po pikselu (kolejność obrazów) jest niepraktyczne lub zbyt wolne dla jakiegoś zadania, przydatne może okazać się podejście prymitywne do renderowania prymitywne (kolejność obiektów). Tutaj jedna pętla przez każdy z prymitywów określa, na które piksele obrazu ma wpływ, i odpowiednio modyfikuje te piksele. Nazywa się to rasteryzacją i jest metodą renderowania używaną przez wszystkie obecne karty graficzne .

Rasteryzacja jest często szybsza niż renderowanie piksel po pikselu. Po pierwsze, duże obszary obrazu mogą być pozbawione prymitywów; rasteryzacja zignoruje te obszary, ale renderowanie piksel po pikselu musi przez nie przejść. Po drugie, rasteryzacja może poprawić spójność pamięci podręcznej i zmniejszyć nadmiarową pracę, wykorzystując fakt, że piksele zajmowane przez pojedynczy prymityw mają tendencję do ciągłego przylegania do obrazu. Z tych powodów rasteryzacja jest zwykle preferowanym podejściem w przypadku interakcji wymagane jest renderowanie; jednak podejście piksel po pikselu może często dawać obrazy o wyższej jakości i jest bardziej wszechstronne, ponieważ nie zależy od tak wielu założeń dotyczących obrazu, jak rasteryzacja.

Starsza forma rasteryzacji charakteryzuje się renderowaniem całej twarzy (prymitywnie) jako jednego koloru. Alternatywnie, rasteryzację można wykonać w bardziej skomplikowany sposób, najpierw renderując wierzchołki twarzy, a następnie renderując piksele tej twarzy jako mieszanie kolorów wierzchołków. Ta wersja rasteryzacji wyprzedziła starą metodę, ponieważ pozwala grafice przepływać bez skomplikowanych tekstur (zrasteryzowany obraz używany twarzą w twarz ma zwykle efekt przypominający bloki, jeśli nie jest pokryty złożonymi teksturami; twarze nie są gładkie, ponieważ nie ma stopniowej zmiany koloru od jednego prymitywu do drugiego). Ta nowsza metoda rasteryzacji wykorzystuje bardziej wymagające funkcje cieniowania karty graficznej i nadal zapewnia lepszą wydajność, ponieważ prostsze tekstury przechowywane w pamięci zajmują mniej miejsca. Czasami projektanci używają jednej metody rasteryzacji na niektórych ścianach, a drugiej na innych, w oparciu o kąt, pod jakim ta twarz styka się z innymi połączonymi ścianami, zwiększając w ten sposób szybkość i nie szkodząc ogólnemu efektowi.

Odlewanie promieniowe

W przypadku rzutowania promieniami geometria, która została wymodelowana, jest analizowana piksel po pikselu, linia po linii, z punktu widzenia na zewnątrz, tak jakby promienie były rzucane z punktu widzenia. W przypadku przecięcia obiektu wartość koloru w punkcie można ocenić za pomocą kilku metod. W najprostszym przypadku wartość koloru obiektu w punkcie przecięcia staje się wartością tego piksela. Kolor można określić na podstawie mapy tekstury . Bardziej wyrafinowaną metodą jest modyfikacja wartości koloru za pomocą współczynnika oświetlenia, ale bez obliczania stosunku do symulowanego źródła światła. Aby zredukować artefakty, można uśrednić liczbę promieni w nieco innych kierunkach.

Rzucanie promieni obejmuje obliczanie „kierunku widzenia” (z pozycji kamery) i stopniowe podążanie wzdłuż tego „rzutu promienia” przez „stałe obiekty 3D” w scenie, jednocześnie gromadząc wynikową wartość z każdego punktu w przestrzeni 3D. Jest to związane i podobne do „ray tracingu”, z tym wyjątkiem, że raycast zwykle nie jest „odbijany” od powierzchni (gdzie „śledzenie promieni” wskazuje, że śledzi ścieżkę światła, w tym odbicia). „Rzucanie promieni” oznacza, że ​​promień światła podąża prostą ścieżką (co może obejmować przechodzenie przez półprzezroczyste obiekty). Rzut promienia to wektor, który może pochodzić z kamery lub punktu końcowego sceny („od tyłu do przodu” lub „od przodu do tyłu”). Czasami ostateczna wartość światła pochodzi z „funkcji przenoszenia”, a czasami jest używana bezpośrednio.

Można dodatkowo zastosować zgrubne symulacje właściwości optycznych: wykonuje się proste obliczenie promienia od obiektu do punktu widzenia. Następnie oblicza się kąt padania promieni świetlnych ze źródła (źródeł) światła iz tego oraz z określonych natężeń źródeł światła obliczana jest wartość piksela. Inna symulacja wykorzystuje oświetlenie wykreślone z algorytmu radiosity lub kombinacji tych dwóch.

Śledzenie promienia

Spiral Sphere and Julia, Detail , wygenerowany komputerowo obraz stworzony przez artystę wizualnego Roberta W. McGregora przy użyciu tylko POV-Ray 3.6 i wbudowanego języka opisu scen

Ray tracing ma na celu symulowanie naturalnego przepływu światła, interpretowanego jako cząstki. Często metody śledzenia promieni są wykorzystywane do przybliżenia rozwiązania równania renderowania poprzez zastosowanie do niego metod Monte Carlo . Niektóre z najczęściej używanych metod to path tracing , dwukierunkowe path tracing lub lekki transport Metropolis , ale używane są również metody półrealistyczne, takie jak Whitted Style Ray Tracing lub hybrydy. Podczas gdy większość implementacji pozwala światłu rozchodzić się po liniach prostych, istnieją aplikacje do symulacji relatywistycznych efektów czasoprzestrzennych.

W ostatecznym, produkcyjnym renderowaniu dzieła opartego na ray tracingu, dla każdego piksela wykonuje się zwykle wiele promieni, które są śledzone nie tylko do pierwszego obiektu przecięcia, ale raczej poprzez szereg kolejnych „odbić”, przy użyciu znanych praw optyka, taka jak „kąt padania równa się kątowi odbicia” i bardziej zaawansowane prawa dotyczące załamania światła i chropowatości powierzchni.

Gdy promień napotka źródło światła lub, co bardziej prawdopodobne, po oszacowaniu ustalonej granicznej liczby odbić, wówczas oświetlenie powierzchni w tym końcowym punkcie jest oceniane za pomocą technik opisanych powyżej, a zmiany po drodze przez różne odbicia są oceniane do oszacować wartość obserwowaną z punktu widzenia. To wszystko jest powtarzane dla każdej próbki, dla każdego piksela.

W dystrybucji śledzenia promieni w każdym punkcie przecięcia może powstać wiele promieni. Jednak w przypadku śledzenia ścieżki na każdym skrzyżowaniu emitowany jest tylko jeden promień lub żaden, wykorzystując statystyczną naturę eksperymentów Monte Carlo .

Jako metoda brutalnej siły, ray tracing był zbyt wolny, aby rozważać go w czasie rzeczywistym, a do niedawna zbyt wolny, aby rozważać go nawet w przypadku filmów krótkometrażowych o jakimkolwiek stopniu jakości, chociaż był używany w sekwencjach efektów specjalnych oraz w reklamach , gdzie wymagana jest krótka porcja wysokiej jakości (być może nawet fotorealistycznej ) materiału filmowego.

Jednak wysiłki mające na celu optymalizację w celu zmniejszenia liczby obliczeń potrzebnych w częściach pracy, w których szczegółowość nie jest wysoka lub nie zależy od funkcji ray tracingu, doprowadziły do ​​​​realistycznej możliwości szerszego wykorzystania ray tracingu. Obecnie istnieje sprzęt do ray tracingu z akceleracją sprzętową, przynajmniej w fazie prototypu, oraz kilka wersji demonstracyjnych gier, które pokazują użycie oprogramowania w czasie rzeczywistym lub sprzętowego ray tracingu.

Renderowanie neuronowe

Renderowanie neuronowe to metoda renderowania wykorzystująca sztuczne sieci neuronowe . Renderowanie neuronowe obejmuje renderowania oparte na obrazach , które są używane do rekonstrukcji modeli 3D z obrazów 2-wymiarowych. Jedną z tych metod jest fotogrametria , czyli metoda, w której zbiór obrazów obiektu pod różnymi kątami jest przekształcany w model 3D . Ostatnio nastąpiły również postępy w generowaniu i renderowaniu modeli 3D z tekstu i zgrubnych obrazów, w szczególności przez firmy NVIDIA , Google i różne inne firmy.

Radiosity

Radiosity to metoda, która próbuje symulować sposób, w jaki bezpośrednio oświetlone powierzchnie działają jako pośrednie źródła światła oświetlające inne powierzchnie. Daje to bardziej realistyczne cieniowanie i wydaje się lepiej oddawać „ atmosferę ” sceny we wnętrzach. Klasycznym przykładem jest sposób, w jaki cienie „przytulają” rogi pomieszczeń.

Optyczną podstawą symulacji jest to, że pewne rozproszone światło z danego punktu na danej powierzchni odbija się w dużym spektrum kierunków i oświetla obszar wokół niego.

Technika symulacji może różnić się stopniem złożoności. Wiele renderingów ma bardzo przybliżone oszacowanie radiosity, po prostu bardzo nieznacznie oświetlając całą scenę za pomocą czynnika zwanego atmosferą. Jednak gdy zaawansowana ocena radiosity jest połączona z wysokiej jakości algorytmem śledzenia promieni, obrazy mogą wykazywać przekonujący realizm, szczególnie w przypadku scen we wnętrzach.

W zaawansowanej symulacji radiosity rekurencyjne algorytmy elementów skończonych „odbijają” światło tam iz powrotem między powierzchniami w modelu, aż do osiągnięcia pewnej granicy rekurencji. Zabarwienie jednej powierzchni wpływa w ten sposób na zabarwienie sąsiedniej powierzchni i odwrotnie. Otrzymane wartości oświetlenia w całym modelu (czasami także dla pustych przestrzeni) są przechowywane i wykorzystywane jako dodatkowe dane wejściowe podczas wykonywania obliczeń w modelu z rzutowaniem promienia lub ze śledzeniem promienia.

Ze względu na iteracyjny/rekurencyjny charakter tej techniki emulacja złożonych obiektów jest szczególnie powolna. Przed standaryzacją szybkiego obliczania radiosity niektórzy artyści cyfrowi stosowali technikę określaną luźno jako fałszywa radiosity poprzez przyciemnianie obszarów map tekstur odpowiadających narożnikom, złączom i zagłębieniom oraz stosowanie ich poprzez samooświetlenie lub mapowanie rozproszone w celu renderowania linii skanowania. Nawet teraz zaawansowane obliczenia radiosity mogą być zarezerwowane do obliczania atmosfery pomieszczenia na podstawie światła odbijającego się od ścian, podłogi i sufitu, bez badania udziału złożonych obiektów w radiosity – lub złożone obiekty mogą zostać zastąpione w obliczeniach radiosity z prostszymi przedmiotami o podobnej wielkości i fakturze.

Obliczenia Radiosity są niezależne od punktu widzenia, co zwiększa liczbę wymaganych obliczeń, ale czyni je użytecznymi dla wszystkich punktów widzenia. Jeśli w scenie występuje niewielkie przegrupowanie obiektów radiosity, te same dane radiosity mogą być ponownie wykorzystane dla wielu klatek, dzięki czemu radiosity jest skutecznym sposobem na poprawę płaskości rzutowania promieni, bez poważnego wpływu na ogólny czas renderowania na klatkę. .

Z tego powodu radiosity jest głównym składnikiem wiodących metod renderowania w czasie rzeczywistym i było używane od początku do końca do stworzenia dużej liczby dobrze znanych ostatnio pełnometrażowych animowanych filmów animowanych 3D.

Próbkowanie i filtrowanie

Jednym z problemów, z którym musi sobie poradzić każdy system renderujący, niezależnie od przyjętego podejścia, jest problem z próbkowaniem . Zasadniczo proces renderowania próbuje przedstawić ciągłą funkcję od przestrzeni obrazu do kolorów przy użyciu skończonej liczby pikseli. W konsekwencji twierdzenia Nyquista-Shannona o próbkowaniu (lub twierdzenia Kotelnikowa) każdy przestrzenny przebieg, który można wyświetlić, musi składać się z co najmniej dwóch pikseli, co jest proporcjonalne do rozdzielczości obrazu . Mówiąc prościej, wyraża to ideę, że obraz nie może wyświetlać szczegółów, szczytów lub dolin w kolorze lub intensywności, które są mniejsze niż jeden piksel.

Jeśli naiwny algorytm renderowania zostanie użyty bez żadnego filtrowania, wysokie częstotliwości w funkcji obrazu spowodują pojawienie się brzydkiego aliasingu na końcowym obrazie. Aliasing zwykle objawia się schodkami lub postrzępionymi krawędziami na obiektach, na których widoczna jest siatka pikseli. Aby usunąć aliasing, wszystkie algorytmy renderowania (jeśli mają generować dobrze wyglądające obrazy) muszą używać pewnego rodzaju filtra dolnoprzepustowego w funkcji obrazu w celu usunięcia wysokich częstotliwości, procesu zwanego antyaliasingiem .

Optymalizacja

Ze względu na dużą liczbę obliczeń praca w toku jest zwykle renderowana tylko w szczegółach odpowiednich do części pracy opracowywanej w danym momencie, więc na początkowych etapach modelowania można zastosować model szkieletowy i odlewanie promieniowe, nawet jeśli docelowym wyjściem jest ray tracing z radiosity. Powszechne jest również renderowanie tylko części sceny z dużą szczegółowością i usuwanie obiektów, które nie są ważne dla tego, co jest obecnie opracowywane.

W przypadku czasu rzeczywistego właściwe jest uproszczenie jednego lub kilku typowych przybliżeń i dostrojenie do dokładnych parametrów danej scenerii, która jest również dostrojona do uzgodnionych parametrów, aby uzyskać jak największy zwrot z każdej zainwestowanej złotówki.

Rdzeń akademicki

Implementacja realistycznego renderera zawsze zawiera jakiś podstawowy element fizycznej symulacji lub emulacji – jakieś obliczenia, które przypominają lub streszczają rzeczywisty proces fizyczny.

Termin „ oparte na fizyce ” wskazuje na użycie modeli fizycznych i przybliżeń, które są bardziej ogólne i powszechnie akceptowane poza renderowaniem. Specyficzny zestaw powiązanych technik stopniowo zadomowił się w społeczności renderującej.

Podstawowe pojęcia są umiarkowanie proste, ale trudne do obliczenia; a jeden elegancki algorytm lub podejście było nieuchwytne dla rendererów o bardziej ogólnym przeznaczeniu. Aby sprostać wymaganiom solidności, dokładności i praktyczności, wdrożenie będzie złożonym połączeniem różnych technik.

Renderowanie badań dotyczy zarówno adaptacji modeli naukowych, jak i ich efektywnego zastosowania.

Równanie renderowania

Jest to kluczowa akademicka/teoretyczna koncepcja renderowania. Służy jako najbardziej abstrakcyjny formalny wyraz niepercepcyjnego aspektu renderowania. Wszystkie bardziej kompletne algorytmy można postrzegać jako rozwiązania poszczególnych sformułowań tego równania.

Znaczenie: w określonym miejscu i kierunku światło wychodzące (L o ) jest sumą światła emitowanego ( Le ) i światła odbitego. Światło odbite jest sumą światła padającego (Li ) ze wszystkich kierunków, pomnożonego przez odbicie od powierzchni i kąt padania. Łącząc światło zewnętrzne ze światłem wewnętrznym za pośrednictwem punktu interakcji, równanie to oznacza cały „transport światła” – cały ruch światła – w scenie.

Dwukierunkowa funkcja rozkładu współczynnika odbicia

Dwukierunkowa funkcja rozkładu odbicia (BRDF) wyraża prosty model interakcji światła z powierzchnią w następujący sposób:

Interakcja światła jest często aproksymowana przez jeszcze prostsze modele: odbicie rozproszone i odbicie lustrzane, chociaż oba mogą RÓWNIEŻ być BRDF.

Optyka geometryczna

Renderowanie dotyczy praktycznie wyłącznie aspektu cząstek fizyki światła — znanego jako optyka geometryczna . Traktowanie światła na podstawowym poziomie jako odbijających się cząstek jest uproszczeniem, ale właściwym: falowe aspekty światła są pomijalne w większości scen i są znacznie trudniejsze do zasymulowania. Godne uwagi zjawiska związane z aspektem fali obejmują dyfrakcję (widoczną w kolorach płyt CD i DVD ) oraz polaryzację (widoczną na wyświetlaczach LCD ). Oba rodzaje efektów, w razie potrzeby, są wykonywane przez zorientowaną na wygląd regulację modelu odbicia.

Percepcja wzrokowa

Chociaż poświęca się temu mniej uwagi, zrozumienie ludzkiej percepcji wzrokowej jest cenny dla renderowania. Dzieje się tak głównie dlatego, że wyświetlanie obrazów i ludzka percepcja mają ograniczone zakresy. Renderer może symulować szeroki zakres jasności i koloru światła, ale obecne wyświetlacze – ekran filmowy, monitor komputera itp. – nie są w stanie obsłużyć tak wielu rzeczy i coś trzeba wyrzucić lub skompresować. Ludzka percepcja również ma ograniczenia, więc nie trzeba podawać obrazów o dużym zasięgu, aby stworzyć realizm. Może to pomóc rozwiązać problem dopasowania obrazów do wyświetlaczy, a ponadto zasugerować, jakich skrótów można użyć w symulacji renderowania, ponieważ pewne subtelności nie będą zauważalne. Ten pokrewny temat to mapowanie tonów .

Matematyka stosowana w renderowaniu obejmuje: algebrę liniową , rachunek różniczkowy , matematykę numeryczną , przetwarzanie sygnałów i metody Monte Carlo .

Renderowanie filmów często odbywa się w sieci ściśle połączonych komputerów zwanej farmą renderowania .

Obecny [ kiedy? ] najnowocześniejszym językiem opisu obrazów 3D do tworzenia filmów jest język opisu scen Mental Ray opracowany przez Mental Images i RenderMan Shading Language opracowany przez firmę Pixar (porównaj z prostszymi formatami plików 3D, takimi jak VRML lub interfejsami API , takimi jak OpenGL i DirectX , dostosowanymi do akceleratory sprzętowe 3D).

Inne renderery (w tym zastrzeżone) mogą i są czasami używane, ale większość innych rendererów ma tendencję do pomijania jednej lub więcej często potrzebnych funkcji, takich jak dobre filtrowanie tekstur, buforowanie tekstur, programowalne shadery, zaawansowane typy geometrii, takie jak włosy, podział lub powierzchnie nurbsów z teselacja na żądanie, buforowanie geometrii, raytracing z buforowaniem geometrii, wysokiej jakości mapowanie cieni , szybkie lub wolne od patentów implementacje. Inne bardzo poszukiwane obecnie funkcje mogą obejmować interaktywne renderowanie fotorealistyczne (IPR) oraz sprzętowe renderowanie/cieniowanie.

Chronologia ważnych opublikowanych pomysłów

Renderowanie satelity ESTCube-1

Zobacz też

Dalsza lektura

Linki zewnętrzne