Zaimplementowałem program ładujący MD5 z oprogramowaniem do skórowania. Pozycja bind w md5 jest ostateczna, absolutna pozycja i rotacje, wystarczy wykonać obliczenia dla odważników, które są zależne od stawów.OpenGL: Animacja kości, dlaczego potrzebuję odwrotności ułożenia podczas pracy z GPU?
Próbowałem zastosować skórkę GPU, ale utknąłem w punkcie. Ponieważ te współrzędne są ostateczne, dlaczego nie mogę po prostu przekształcić moich trójwymiarowych wektorów i kwaternionów w macierz i po prostu przesłać je do modułu cieniującego? Jak czytałem tutaj: http://3dgep.com/?p=1356, potrzebuję pomnożyć mój szkielet z odwrotnością wiążącej pozy. Ale nie rozumiem tej części, ponieważ zawsze uważałem, że jedyną rzeczą, którą muszę zrobić, to załadować ostateczne macierze do GPU i obliczyć resztę (suma wag itd.).
Czy możesz wyjaśnić mi zachowanie wiązania odwrotnego?
W tym czasie myślę, że zrozumiałem, o co w tym wszystkim chodzi. Przesyłamy już wierzchołki bind-pose, wszystko, czego potrzebuję, aby je przekształcić i zgodnie z aktualnym szkieletem. Ponieważ wszystkie moje wierzchołki znajdują się już w przestrzeni świata, potrzebuję przekształcić moje nowe macierze absolutne szkieletu w przestrzeń wspólną, ponieważ potrzebuję przesunięcia, a następnie pomnożenie wyniku przez moje wierzchołki, na koniec pomnożenie przez macierz widoku modelu. – deniz