Fusione delle texture
Direct3D può fondere fino a otto texture in primitive in un singolo passaggio. L'uso della fusione di più texture può aumentare profondamente la frequenza dei fotogrammi di un'applicazione Direct3D. Un'applicazione usa la fusione di più texture per applicare texture, ombreggiature, illuminazione speculare, illuminazione diffusa e altri effetti speciali in un unico passaggio.
Per usare la fusione delle texture, l'applicazione deve prima verificare se l'hardware dell'utente lo supporta.
Fasi e fusione delle texture
Direct3D supporta la fusione di più texture a passaggio singolo tramite l'uso delle fasi della texture. Una fase di texture accetta due argomenti ed esegue un'operazione di fusione su di essi, passando il risultato per un'ulteriore elaborazione o per la rasterizzazione. È possibile visualizzare una fase di texture come illustrato nel diagramma seguente.
Come illustrato nel diagramma precedente, le fasi della texture combinano due argomenti usando un operatore specificato. Le operazioni comuni includono la semplice modularità o l'aggiunta del colore o dei componenti alfa degli argomenti, ma sono supportate più di due dozzine di operazioni. Gli argomenti per una fase possono essere una texture associata, il colore iterato o alfa (iterato durante l'ombreggiatura gouraud), il colore arbitrario e l'alfa oppure il risultato della fase di texture precedente.
Nota Direct3D distingue la fusione dei colori dalla fusione alfa. Le applicazioni impostano operazioni di fusione e argomenti per colore e alfa singolarmente e i risultati di tali impostazioni sono indipendenti l'uno dall'altro.
La combinazione di argomenti e operazioni usate da più fasi di fusione definisce un semplice linguaggio di fusione basato su flusso. I risultati di una fase passano verso il basso fino a un'altra fase, da quella fase alla successiva e così via. Il concetto di risultati che passano da una fase all'altra per essere rasterizzati in un poligono vien spesso definito come "cascata di fusione delle texture". Il diagramma seguente mostra in che modo le singole fasi della texture costituiscono la fusione delle texture a cascata.
Ogni fase in un dispositivo ha un indice a base zero. Direct3D consente fino a otto fasi di fusione, anche se è consigliabile controllare sempre le funzionalità del dispositivo per determinare il numero di fasi supportate dall'hardware corrente. La prima fase di fusione è in corrispondenza dell'indice 0, la seconda è a 1 e così via, fino all'indice 7. Il sistema combina fasi in ordine crescente di indice.
Usare solo il numero di fasi necessarie; Le fasi di fusione inutilizzate sono disabilitate per impostazione predefinita. Pertanto, se l'applicazione usa solo le prime due fasi, è necessario impostare solo operazioni e argomenti per la fase 0 e 1. Il sistema combina le due fasi e ignora le fasi disabilitate.
Se l'applicazione varia il numero di fasi usate per situazioni diverse, ad esempio quattro fasi per alcuni oggetti e solo due per altre, non è necessario disabilitare in modo esplicito tutte le fasi usate in precedenza. Un'opzione consiste nel disabilitare l'operazione di colore per la prima fase inutilizzata, quindi non verranno applicate tutte le fasi con un indice superiore. Un'altra opzione consiste nel disabilitare completamente il mapping delle texture impostando l'operazione di colore per la prima fase della texture (fase 0) su uno stato disabilitato.
In questa sezione
Argomento | Descrizione |
---|---|
Una fase di fusione è un insieme di operazioni di texture e dei relativi argomenti che definiscono la modalità di fusione delle texture. |
|
Le applicazioni Direct3D possono ottenere numerosi effetti speciali applicando varie texture a una primitiva nel corso di più passaggi di rendering. Il termine comune per questo è la fusione di texture a passaggi multipli. Un uso tipico per la fusione di texture a passaggi multipli consiste nell'emulare gli effetti di modelli di illuminazione e ombreggiatura complessi applicando più colori da diverse texture. Una di queste applicazioni è denominata mapping della luce. |
Argomenti correlati