Mapy pochodne a mapy stycznej do przestrzeni normalnej

11

Odkryłem, że niektóre silniki używają map pochodnych zamiast normalnych map w przestrzeni stycznej .

Po krótkiej lekturze wydaje się to naprawdę świetny sposób na zastąpienie stycznych normalnych przestrzeni, ale czy korzystanie z nich jest niekorzystne? Po co nadal używać normalnych przestrzeni stycznej?

Czy można porównać zarówno zalety, jak i wady?

Mata
źródło
Istnieje wiele blogów na temat instrumentów pochodnych i fajnie byłoby uzyskać opinie od osób, które zaimplementowały je w silniku produkcyjnym i dlaczego wybrały tę metodę.
MaT
2
Jednym z głównych czynników, dlaczego rzeczy nie są natychmiast przyjmowane, jest bezwładność i to, że istniejące rozwiązanie jest wystarczająco dobre.
maniak zapadkowy

Odpowiedzi:

4

Po kilku badaniach i odpowiedziach od profesjonalistów tutaj jest mój wniosek.

Plusy

  • Nie wymagaj stycznych ani binormali. Mniej interpolatorów.
  • Potrzebujesz tylko dwóch kanałów. mniej pamięci tekstur.
  • Nie cierpię na styczne szwy.
  • Może być mieszany za pomocą mieszania alfa, bez renormalizacji.
  • Mniej pamięci siatki: nie musimy przechowywać wektora stycznego.
  • Szybka realizacja.

Cons

  • Więcej ALU
  • Mniej elastyczny. Normalna mapa może reprezentować dowolną mapę pochodną, ​​ale odwrotność nie jest prawdą. Na przykład ostre krawędzie mogą być trudne do przedstawienia.

To dużo zalet w porównaniu do wad. Ale głównym problemem jest to, że nie jest to standard branżowy.
Prawie nie ma narzędzi do tworzenia treści ani specjalistycznej wiedzy artystów.

Oto cytat Barta Wrońskiego, który dobrze ilustruje obecny stan map pochodnych:

Niestety w życiu / technologii nie zawsze najlepsze rozwiązanie wygrywa / nawet nie zasługuje na uwagę ... Chodzi o standardy i bezwładność.

Jeśli chcesz dowiedzieć się więcej o mapach pochodnych, oto kilka interesujących artykułów.

Jeśli coś zapomnę lub jeśli nie wyrażasz zgody, nie krępuj się w komentarzach, chętnie poprawię tę odpowiedź.

Mata
źródło
Wygląda na to, że niektórzy z twoich profesjonalistów nie używają wstępnie obliczonej przestrzeni stycznej (tj. Czerpią przestrzeń styczną z pochodnych UV na piksel), co AFAIK jest osobnym wyborem projektowym, niezależnym od wyboru map pochodnych w porównaniu do normalnych map.
Nathan Reed,
Dzięki za komentarz @NathanReed Czy mówisz o fakcie obliczania stycznych i binormali? Czy możesz mi powiedzieć więcej o wstępnie obliczonej przestrzeni stycznej?
MaT
1

Zakładam, że korzystasz ze wstępnie obliczonych pochodnych map wysokości zamiast obliczać je w locie (szczegółowe informacje można znaleźć w tym blogu na blogu Mikkelsena). Jeśli musimy dostarczyć wstępnie obliczone pochodne wysokości, musimy dostarczyć dwa kanały, tak jak normalna mapa. Można argumentować, że mapowanie pochodnych nie wymaga obecności atrybutu wierzchołka stycznego, tak jak normalne mapowanie, ale dodatkowe operacje różnicowania na mapie wysokości nieco niwelują ten wzrost wydajności. Mapy pochodne są fajną koncepcją, ale pod koniec dnia nie sądzę, aby były znacznie lepsze niż zwykłe mapowanie pod względem wydajności (chociaż koncepcyjnie zgadzam się, że mapy pochodne są łatwiejsze do pracy, ponieważ nie musimy sobie radzić z przestrzenią styczną).

AnimatedRNG
źródło