Compartilhar via


Clonagem e Compartilhamento (Direct3D 9)

Parâmetros de clonagem

A clonagem tem as seguintes restrições.

  • Clones herdam o pool do efeito original. Consulte a seção Parâmetros de compartilhamento.
  • Clones herdam as técnicas, os passes, os parâmetros e as anotações do efeito original (incluindo todas as anotações adicionadas com ID3DXEffect).
  • Clones herdam as anotações adicionadas dinamicamente do efeito original.
  • A clonagem em um novo dispositivo falhará se o pool do efeito original não for NULL e o efeito original contiver um parâmetro dependente de dispositivo compartilhado (como uma textura ou sombreador).

Parâmetros de compartilhamento

Um pool é um buffer que compartilha parâmetros de efeito entre efeitos diferentes. Para adicionar parâmetros a um pool, especifique um uso compartilhado quando o efeito for criado.

Um pool tem as seguintes restrições.

  • Um parâmetro é adicionado ao pool na primeira vez que um efeito que contém esse parâmetro (compartilhado) é adicionado ao pool.
  • Um pool obtém valores iniciais do primeiro parâmetro compartilhado; os parâmetros compartilhados posteriormente obtêm seus valores do pool.
  • Um parâmetro é excluído do pool quando todas as referências de efeito ao parâmetro compartilhado são lançadas.
  • Todos os efeitos no pool que contêm o mesmo parâmetro dependente de dispositivo (compartilhado) devem ter o mesmo dispositivo.

NULL pode ser usado para especificar nenhum pool; nesse caso, nenhum parâmetro é compartilhado. Isso é quase equivalente à especificação de um pool exclusivo apenas para esse efeito. A única diferença é que, quando o efeito é clonado, o clone não compartilhará seus parâmetros compartilhados com o original.

Formato de efeito