Zestaw technik pozwalających uniknąć jawnego zamawiania jest nazywany „Niezależna przejrzystość zamówień” (w skrócie OIT).
Istnieje wiele technik OIT.
Historycznie jednym z nich jest Peeling Głębokości . W tym podejściu najpierw renderujesz fragmenty / piksele znajdujące się z przodu, a następnie znajdujesz się najbliżej tego, który znaleziono w poprzednim kroku i tak dalej, z taką ilością „warstw”, ile potrzebujesz. Nazywa się to peelingiem głębinowym, ponieważ przy każdym przejściu „obierasz” jedną warstwę głębokości. Całą warstwę można wtedy normalnie połączyć ponownie od tyłu do przodu. Aby wdrożyć ten algorytm, musisz mieć kopię bufora głębokości.
Kolejnym zestawem technik są mieszane OIT. Jednym z najnowszych i interesujących jest Weighted Blended OIT zaproponowany przez McGuire i Bavoil . Zasadniczo stosuje sumę ważoną dla wszystkich powierzchni zajmujących dany fragment. Proponowany przez nich schemat ważenia oparty jest na przestrzeni Z kamery (jako przybliżenie do okluzji) i nieprzezroczystości.
Chodzi o to, że jeśli możesz zredukować problem do ważonej kwoty, tak naprawdę nie zależy ci na zamawianiu.
Oprócz oryginalnego artykułu, na blogu Matta Pettineo znajduje się świetne źródło informacji o szczegółach implementacji i problemach ważonego mieszanego OIT . Jak można przeczytać w jego poście, technika ta nie jest srebrną kulą. Główny problem polega na tym, że schemat ważenia ma kluczowe znaczenie i należy go dostosować do sceny / treści. Z jego eksperymentów, chociaż technika wydaje się działać dobrze w przypadku względnie małego i średniego krycia, nie udaje się, gdy krycie zbliża się do 1, a zatem nie można jej stosować z materiałów, w których duża część powierzchni jest nieprzezroczysta (podaje przykład liści).
Ponownie wszystko sprowadza się do tego, jak dostroić wagi głębokości i znalezienie tych, które idealnie pasują do twoich przypadków użycia, niekoniecznie jest trywialne.
Jeśli chodzi o to, co jest potrzebne do ważonego mieszanego OIT, nic więcej niż dwa dodatkowe cele renderowania. Taki, który wypełniasz wstępnie pomnożonym kolorem alfa (kolor * alfa) i alfa, oba odpowiednio ważone. Drugi tylko dla obciążników.