Clonazione e condivisione (Direct3D 9)
Clonazione di parametri
La clonazione ha le restrizioni seguenti.
- Cloni ereditano il pool dell'effetto originale. Vedere la sezione Parametri di condivisione.
- I cloni ereditano le tecniche dell'effetto originale, i passaggi, i parametri e le annotazioni (incluse tutte le annotazioni aggiunte con ID3DXEffect).
- Cloni ereditano le annotazioni aggiunte dinamicamente dall'effetto originale.
- La clonazione in un nuovo dispositivo avrà esito negativo se il pool di effetti originali non era NULL e l'effetto originale conteneva un parametro dipendente dal dispositivo condiviso ,ad esempio una trama o uno shader.
Parametri di condivisione
Un pool è un buffer che condivide i parametri di effetto tra effetti diversi. Per aggiungere parametri a un pool, specificare un utilizzo condiviso al momento della creazione dell'effetto.
Un pool ha le restrizioni seguenti.
- Un parametro viene aggiunto al pool la prima volta che un effetto contenente il parametro (condiviso) viene aggiunto al pool.
- Un pool ottiene i valori iniziali dal primo parametro condiviso; i parametri condivisi successivamente ottengono i valori dal pool.
- Un parametro viene eliminato dal pool quando vengono rilasciati tutti i riferimenti all'effetto al parametro condiviso.
- Tutti gli effetti nel pool che contengono lo stesso parametro dipendente dal dispositivo (condiviso) devono avere lo stesso dispositivo.
È possibile usare NULL per specificare nessun pool, in cui non vengono condivisi parametri. Ciò equivale quasi a specificare un pool univoco solo per questo effetto. La singola differenza è che quando l'effetto viene clonato, il clone non condividerà i parametri condivisi con l'originale.
Argomenti correlati