A partir de agora, ao renderizar minha cena e ao percorrer o gráfico da cena, para cada nó, sua matriz de modelo é calculada a partir da matriz de modelo do pai e da pose do nó de cena. Isso é bastante simples e já reduz o número de multiplicações de matrizes para uma multiplicação por nó e quadro.
Mas todas essas multiplicações de matriz precisam ser feitas na CPU e em todos os quadros para poder executar (vários consecutivos) movimentos de nós de cena muito rapidamente. A GPU, no entanto, provavelmente é muito mais adequada para realizar muitas multiplicações de matrizes, então estou pensando em enviar várias matrizes parciais de modelo para o shader de vértice, em vez de calcular tudo na CPU.
O envio de todas as partes (de modo que a pose de cada nó) para a GPU provavelmente não faz muito sentido, pois nesse caso todos os cálculos são feitos para cada vértice, em vez de cada nó, o que realmente diminuiria o desempenho. Mas talvez os nós de cena com muitos filhos ou apenas filhos não em movimento (em relação ao pai) possam ser um local para dividir a matriz do modelo e mudar as multiplicações para o sombreador.
Então, quando é melhor enviar matrizes de modelo parciais para o shader e mover a multiplicação para a GPU? Ou é simplesmente uma má idéia para isso?