J'ai soudain le sentiment que je n'ai absolument aucune idée de comment implémenter des objets / os invisibles.
À l'heure actuelle, j'utilise l'instanciation matérielle pour stocker la matrice mondiale de chaque os dans un tampon de vertex, puis je les envoie toutes au pipeline. Mais quand il s'agit d'abattage tronconique, ou de les rendre invisibles par ma simulation pour d'autres raisons, cela signifie que certains d'entre eux seront aléatoirement invisibles.
Cela signifie-t-il que je dois effectivement remplir à nouveau le tampon à partir de zéro chaque image avec uniquement les matrices de l'unité visible? Il me semble que cela impliquerait beaucoup de bande passante gaspillée.
Réponses:
Autant mettre cela comme réponse ... J'essaierais d'implémenter ce que j'ai suggéré et d'avoir des unités ou des objets que vous voulez être invisibles référencent un os avec une échelle nulle. Vraiment, ce n'est que pour les unités qui ont plusieurs os et vous voulez simplement en rendre une partie invisible. Sinon, supprimez simplement le décalage de position ou changez-le en très éloigné lorsque vous voulez rendre une unité invisible. Essayez de laisser la carte graphique trier les éléments à dessiner.
Vous ne pouvez pas encore trop vous soucier des performances. Essayez au moins ces choses avant de ne pas les considérer comme coûteuses. Optimisation prématurée et tout ça.
la source