Co to jest samo-zacienianie?

„Cieniowanie siebie” to termin opisujący okoliczności, w których jedna część przedmiotu rzuca cień na siebie. Przykłady samo-cieniowania obejmują cień rzucany przez ludzki nos na twarz lub górną wargę, gdy źródło światła pochodzi z góry, lub cień rzucany przez siedzenie krzesła na nogi krzesła. Gdy termin ten jest używany w grafice komputerowej - w szczególności w programowaniu grafiki komputerowej - odnosi się do cieni rzucanych na siebie przez trójwymiarowe obiekty sceny (3D) lub do cieni rzucanych na siebie przez obiekty dynamiczne i obiekty wokół nich . Charakter programowania grafiki komputerowej 3D w czasie rzeczywistym powoduje, że wiele aplikacji korzysta z technik, które często eliminują możliwość renderowania cieni na korzyść innych optymalizacji, chociaż wraz ze wzrostem prędkości i możliwości komputerów metody cieniowania w czasie rzeczywistym stały się bardziej dostępne. Istnieje kilka metod renderowania obiektów cieniujących w czasie rzeczywistym, ale ograniczenia sprzętowe zwykle dają wyniki, które mają pewne wady, takie jak niedokładne cienie, cienie ze sztucznie twardymi krawędziami lub sceny renderujące bardzo wolno na kartach graficznych, które nie są niewiarygodnie szybkie .

Jedną z różnic, które należy wprowadzić, gdy mówimy o cieniowaniu, jest różnica między obiektami statycznymi i dynamicznymi w grafice w czasie rzeczywistym. Obiekty statyczne to obiekty 3D w scenie, które nie poruszają się i nie mają żadnej zmiany w geometrii podczas renderowania. Z drugiej strony obiekt dynamiczny to obiekt, który nie jest w żaden sposób bezpośrednio przymocowany do sceny i może różnić się w zależności od klatki. W przeważającej części większość obiektów statycznych i scen w czasie rzeczywistym wykonuje cień, albo z powodu silnika renderowania, albo z powodu innych sztuczek graficznych, które można zastosować.

Kilka optymalizacji wykorzystywanych do renderowania grafiki 3D w czasie rzeczywistym utrudnia wdrożenie dynamicznego cieniowania. Niektóre przykłady obejmują silnik graficzny, który stosuje efekty świetlne tylko do statycznego tła, ignorując obiekty dynamiczne, takie jak postacie na scenie, lub silnik, który traktuje obiekty tylko jako sylwetki, bez świadomości wewnętrznej geometrii. Wraz ze wzrostem liczby procesorów graficznych i komputerów nowe techniki pozwalają na pojawienie się obiektów cieniowanych na scenie w czasie rzeczywistym, z pewnymi ograniczeniami i kompromisami.

Objętości cienia to jeden ze sposobów, w jaki można zastosować samo-cieniowanie w scenie 3D. Ta metoda zasadniczo tworzy obiekty 3D, które zajmują zamknięty wolumin w scenie, w której rzucany jest cień, umożliwiając rendererze lub modułowi cieniującemu przeprowadzenie testów, czy którykolwiek punkt znajduje się w woluminie zacieniowanym, w celu ustalenia, jak jest on oświetlony. Inne metody tworzą mapy cieni lub przybliżają cienie z pozycji wierzchołków, aby tworzyć bardzo rozproszone cienie, które niekoniecznie podążają za wiernością krawędzi.

Prawie wszystkie metody zacienienia muszą wymieniać prędkość lub jakość, aby uzyskać akceptowalny wynik. Problemy z jakością mogą wystąpić przy użyciu szybkich, ale niewyraźnych lub rozmytych technik, które mogą sprawić, że niektóre cienie mogą wydawać się niewłaściwe lub nie na miejscu. Problemy z prędkością występują, gdy stosowane algorytmy wymagają zbyt dużego obciążenia na klatkę lub zbyt dokładnego obliczania rzutów cienia. Chociaż nie ma jednego standardowego algorytmu samopowielającego, niektóre karty graficzne zawierają natywne przyspieszenie dla różnych metod, które mogą zwiększyć szybkość niektórych technik.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?