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.
Tópicos relacionados