Swizzling del registro di origine (riferimento VS HLSL)

Prima dell'esecuzione di un'istruzione, i dati in un registro di origine vengono copiati in un registro temporaneo. Swizzling si riferisce alla possibilità di copiare qualsiasi componente del registro di origine in qualsiasi componente registro temporaneo. Lo scorrimento rapido non influisce sui dati del registro di origine.

Scorrimento rapido componente

Come illustrato nella tabella seguente, lo scorrimento rapido può essere applicato ai singoli componenti dei dati del registro di origine (dove sono uno dei registri di vertex shader validi - vs_1_1).

Modificatore del componente Descrizione
r.[xyzw][xyzw][xyzw][xyzw] Swizzle di origine

 

  • Tutti e quattro i componenti vengono sempre copiati. Se vengono specificati meno di quattro componenti, l'ultimo componente viene ripetuto (xy significa xyyy). Se non vengono specificati componenti, x viene ripetuto (.xxxx).
  • I componenti possono essere visualizzati in qualsiasi ordine. v0.ywx restituisce v0.ywxx.
  • I componenti rgba possono essere usati rispettivamente per xyzw (r per x, g per b e così via).
  • Queste istruzioni implementano swizzles a componente singolo con registrazione origine: exp, expp, log, logp, pow, rcp, rsq. Il risultato di queste istruzioni viene copiato in tutti e quattro i componenti del registro di destinazione.

Lo swizzling non può essere usato in m3x2 - vs, m3x3 - vs, m4x3 - vs e m4x4 - vs instructions.

Modificatori registro vertex shader