Implementando ossos invisíveis

8

De repente, sinto que não tenho absolutamente nenhuma idéia de como implementar objetos / ossos invisíveis.

No momento, uso o instanciamento de hardware para armazenar a matriz mundial de todos os ossos em um buffer de vértice e depois enviá-los para o pipeline. Mas, ao lidar com a seleção de frustum, ou tê-los invisíveis pela minha simulação por outras razões, significa que alguns deles serão invisíveis aleatoriamente.

Isso significa que eu preciso efetivamente preencher novamente o buffer a partir do zero todos os quadros apenas com as matrizes da unidade visível? Parece-me que isso envolveria muita largura de banda desperdiçada.

DeadMG
fonte
4
Arrepios desde a primeira frase ...
Michaelhouse
11
@ Byte56 Esta pergunta é melhor lida pela lanterna na fogueira.
Obrigado pelos comentários engraçados, mas eu esperava obter informações úteis sobre o problema.
22412 DeadMG
11
Bem, acho que você não vai conseguir de graça. Tente um, ou ambos, depois se preocupe com o desempenho.
MichaelHouse
11
"No momento, uso o instanciamento de hardware para armazenar a matriz mundial de todos os ossos em um buffer de vértice e depois enviá-los para o pipeline". Eu não entendo essa frase. Você está usando a aparência de paleta de matriz ou está apenas processando um monte do mesmo objeto em lugares diferentes? Porque o último não envolve ossos .
Nicol Bolas 23/03

Respostas:

1

É melhor colocar isso como resposta ... Eu tentaria implementar o que sugeri e ter unidades ou objetos que você deseja que sejam invisíveis fazem referência a um osso com escala zero. Realmente isso é apenas para unidades que têm vários ossos e você quer apenas tornar parte dele invisível. Caso contrário, basta remover o deslocamento da posição ou alterá-lo para muito longe quando quiser tornar a unidade invisível. Tente deixar a placa de vídeo resolver o que desenhar.

Você não pode se preocupar muito com o desempenho ainda. Pelo menos tente essas coisas antes de desconsiderá-las como caras. Otimização prematura e tudo isso.

MichaelHouse
fonte