A partire da ora, durante il rendering della mia scena e durante l'iterazione nel grafico della scena, per ciascun nodo la sua matrice del modello viene calcolata dalla matrice del modello del genitore e dalla posa del nodo della scena. Questo è abbastanza semplice e riduce già il numero di moltiplicazioni di matrice a una moltiplicazione per nodo e frame.
Ma tutte queste moltiplicazioni di matrice devono essere fatte sulla CPU e in ogni frame per poter eseguire movimenti (multipli consecutivi) di nodi di scena molto velocemente. La GPU, tuttavia, è probabilmente molto più adatta per eseguire molte moltiplicazioni di matrici, quindi sto pensando di inviare più matrici di modelli parziali allo shader di vertice invece di calcolare tutto sulla CPU.
Inviare ogni singola parte (quindi la posa di ogni nodo) alla GPU probabilmente non ha molto senso, poiché in questo caso tutti i calcoli vengono eseguiti per ogni vertice anziché ogni nodo, il che ridurrebbe effettivamente le prestazioni. Ma forse i nodi di scena con molti bambini o solo bambini non in movimento (rispetto al suo genitore) potrebbero essere un posto per dividere la matrice del modello e spostare le moltiplicazioni sullo shader.
Quindi, quando è meglio inviare matrici modello parziali allo shader e spostare la moltiplicazione nella GPU? O è semplicemente una cattiva idea farlo?