Implémentation d'os invisibles

8

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.

DeadMG
la source
4
Frissons de la première phrase ...
MichaelHouse
1
@ Byte56 Il est préférable de lire cette question à la lampe de poche lors d'un feu de camp.
Merci pour les commentaires amusants, mais j'espérais, vous savez, obtenir des informations utiles sur le problème.
DeadMG
1
Eh bien, je ne pense pas que vous allez l'obtenir gratuitement. Essayez-en un, ou les deux, puis préoccupez-vous des performances.
MichaelHouse
1
"En ce moment, 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." Je ne comprends pas cette phrase. Faites-vous un habillage de palette matricielle ou rendez-vous simplement un tas du même objet à différents endroits? Parce que ce dernier n'implique aucun os .
Nicol Bolas

Réponses:

1

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.

MichaelHouse
la source