Implementazione di ossa invisibili


8

Improvvisamente ho la sensazione di non avere assolutamente idea di come implementare oggetti / ossa invisibili.

In questo momento, utilizzo l'istanziamento hardware per memorizzare la matrice mondiale di ogni osso in un buffer di vertici e quindi inviarli tutti alla pipeline. Ma quando ho a che fare con l'abbattimento di frustum, o se li ho impostati come invisibili dalla mia simulazione per altri motivi, significa che alcuni di essi saranno casualmente invisibili.

Questo significa che ho effettivamente bisogno di riempire nuovamente il buffer da zero ogni frame con solo le matrici dell'unità visibile? Questo mi sembra che implicherebbe molta larghezza di banda sprecata.


4
Brividi dalla prima frase ...
MichaelHouse

1
@ Byte56 Questa domanda va letta meglio con la torcia a un falò.

Grazie per i commenti divertenti, ma speravo, sai, di avere qualche utile input sul problema.
DeadMG

1
Beh, non penso che lo otterrai gratuitamente. Provane uno o entrambi, quindi preoccupati delle prestazioni.
MichaelHouse

1
"In questo momento, utilizzo l'istanza hardware per archiviare la matrice mondiale di ogni osso in un buffer di vertici e quindi inviarli tutti alla pipeline." Non capisco questa frase. Stai eseguendo lo skin skin della palette o stai semplicemente eseguendo il rendering di un gruppo dello stesso oggetto in luoghi diversi? Perché quest'ultimo non coinvolge affatto le ossa .
Nicol Bolas,

Risposte:


1

Potrei anche dirlo come una risposta ... Proverei a implementare ciò che ho suggerito e ho unità o oggetti che vuoi essere invisibili riferimento a un osso con scala zero. In realtà è solo per le unità che hanno più ossa e vuoi renderle invisibili. Altrimenti, basta rimuovere l'offset di posizione o cambiarlo in molto lontano quando si desidera rendere un'unità invisibile. Prova a lasciare che la scheda grafica risolva cosa disegnare.

Non puoi ancora preoccuparti troppo delle prestazioni. Almeno prova queste cose prima di ignorarle come costose. Ottimizzazione prematura e tutto il resto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.