Condividi tramite


Blending di trame multipass (Direct3D 9)

Le applicazioni Direct3D possono ottenere numerosi effetti speciali applicando varie trame a una primitiva nel corso di più passaggi di rendering. Il termine comune per questo è la fusione di trame multipass. Un uso tipico per la fusione di trame multipasso consiste nell'emulare gli effetti di modelli di illuminazione e ombreggiatura complessi applicando più colori da diverse trame. Un'applicazione di questo tipo è denominata mapping chiaro. Per altre informazioni, vedere Mapping delle luci con trame (Direct3D 9).

Nota

Alcuni dispositivi sono in grado di applicare più trame alle primitive in un singolo passaggio. Per informazioni dettagliate, vedere Blending trama (Direct3D 9).

 

Se l'hardware dell'utente non supporta la fusione di più trame, l'applicazione può usare la combinazione di trame multipass per ottenere gli stessi effetti visivi. Tuttavia, l'applicazione non può sostenere i tassi di frame possibili quando si usano più blend di trame.

Per eseguire la fusione di trame multipass in un'applicazione C/C++.

  1. Impostare una trama nella fase di trama 0 chiamando il metodo IDirect3DDevice9::SetTexture .
  2. Selezionare il colore desiderato e le operazioni di fusione di argomenti e operazioni con il metodo IDirect3DDevice9::SetTextureStageState . Le impostazioni predefinite sono adatte per la fusione tra trame multipasso.
  3. Eseguire il rendering degli oggetti appropriati nella scena.
  4. Impostare la trama successiva nella fase di trama 0.
  5. Impostare gli stati di D3DRS_SRCBLEND e D3DRS_DESTBLEND per modificare i fattori di fusione di origine e destinazione in base alle esigenze. Il sistema combina le nuove trame con i pixel esistenti nella superficie di destinazione di rendering in base a questi parametri.
  6. Ripetere i passaggi 3, 4 e 5 con il numero di trame necessarie.

Fusione di trame