Pacchetto | flash.display3D |
Classe | public final class Context3DBlendFactor |
Ereditarietà | Context3DBlendFactor Object |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Un fattore di fusione rappresenta un particolare vettore a quattro valori che viene moltiplicato per il colore di origine o di destinazione nella formula di fusione. La formula di fusione è la seguente:
result = source * sourceFactor + destination * destinationFactor
Nella formula, il colore di origine corrisponde al colore di output del programma shader di pixel. Il colore di destinazione è il colore attualmente esistente nel buffer dei colori, impostato dalle precedenti operazioni di cancellazione e disegno.
Ad esempio, se il colore di origine è (.6, .6, .6, .4) e il fattore di fusione di origine è Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA
, la parte di origine dell'equazione di fusione viene calcolata come segue:
(.6, .6, .6, .4) * (1-0.4, 1-0.4, 1-0.4, 1-0.4) = (.36, .36, .36, .24)
Il calcolo finale è fissato nell'intervallo [0,1].
Esempi
Gli esempi che seguono mostrano il calcolo della fusione utilizzando i seguenti valori: colore di origine = (.6,.4,.2,.4), colore di destinazione = (.8,.8,.8,.5) e vari fattori di fusione.
Funzione | Fattore di origine | Fattore di destinazione | Formula di fusione | Risultato |
---|---|---|---|---|
Nessuna fusione | ONE | ZERO | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | ( .6, .4, .2, .4) |
Alfa | SOURCE_ALPHA | ONE_MINUS_SOURCE_ALPHA | (.6,.4,.2,.4) * (.4,.4,.4,.4) + (.8,.8,.8,.5) * (.6,.6,.6,.6) | (.72,.64,.56,.46) |
Additivi | ONE | ONE | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 1, 1, 1, 1) | ( 1, 1, 1, .9) |
Moltiplica | DESTINATION_COLOR | ZERO | (.6,.4,.2,.4) * (.8,.8,.8,.5) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | (.48,.32,.16, .2) |
Screen | ONE | ONE_MINUS_SOURCE_COLOR | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * (.4,.6,.8,.6) | (.92,.88,.68, .7) |
Non tutte le combinazioni di fattori di fusione sono utili ed è talvolta possibile ottenere lo stesso effetto in modi diversi.
Elementi API correlati
Costante | Definito da | ||
---|---|---|---|
DESTINATION_ALPHA : String = "destinationAlpha" [statico]
Il fattore di fusione è (Da,Da,Da,Da), dove Da corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel. | Context3DBlendFactor | ||
DESTINATION_COLOR : String = "destinationColor" [statico]
Il fattore di fusione è (Dr,Dg,Db,Da), dove Dr/g/b/a è il componente corrispondente del colore corrente nel buffer dei colori. | Context3DBlendFactor | ||
ONE : String = "one" [statico]
Il fattore di fusione è (1,1,1,1). | Context3DBlendFactor | ||
ONE_MINUS_DESTINATION_ALPHA : String = "oneMinusDestinationAlpha" [statico]
Il fattore di fusione è (1-Da,1-Da,1-Da,1-Da), dove Da corrisponde al componente alfa del colore corrente nel buffer dei colori. | Context3DBlendFactor | ||
ONE_MINUS_DESTINATION_COLOR : String = "oneMinusDestinationColor" [statico]
Il fattore di fusione è (1-Dr,1-Dg,1-Db,1-Da), dove Dr/g/b/a è il componente corrispondente del colore corrente nel buffer dei colori. | Context3DBlendFactor | ||
ONE_MINUS_SOURCE_ALPHA : String = "oneMinusSourceAlpha" [statico]
Il fattore di fusione è (1-Sa,1-Sa,1-Sa,1-Sa), dove Sa corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel. | Context3DBlendFactor | ||
ONE_MINUS_SOURCE_COLOR : String = "oneMinusSourceColor" [statico]
Il fattore di fusione è (1-Sr,1-Sg,1-Sb,1-Sa), dove Sr/g/b/a è il componente corrispondente del colore di un frammento calcolato dal programma di pixel. | Context3DBlendFactor | ||
SOURCE_ALPHA : String = "sourceAlpha" [statico]
Il fattore di fusione è (Sa,Sa,Sa,Sa), dove Sa corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel. | Context3DBlendFactor | ||
SOURCE_COLOR : String = "sourceColor" [statico]
Il fattore di fusione è (Sr,Sg,Sb,Sa), dove Sr/g/b/a è il componente corrispondente del colore di un frammento calcolato dal programma di pixel. | Context3DBlendFactor | ||
ZERO : String = "zero" [statico]
Il fattore di fusione è (0,0,0,0). | Context3DBlendFactor |
DESTINATION_ALPHA | Costante |
public static const DESTINATION_ALPHA:String = "destinationAlpha"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (Da,Da,Da,Da)
, dove Da
corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel.
DESTINATION_COLOR | Costante |
public static const DESTINATION_COLOR:String = "destinationColor"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (Dr,Dg,Db,Da)
, dove Dr/g/b/a
è il componente corrispondente del colore corrente nel buffer dei colori.
ONE | Costante |
public static const ONE:String = "one"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (1,1,1,1)
.
ONE_MINUS_DESTINATION_ALPHA | Costante |
public static const ONE_MINUS_DESTINATION_ALPHA:String = "oneMinusDestinationAlpha"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (1-Da,1-Da,1-Da,1-Da)
, dove Da
corrisponde al componente alfa del colore corrente nel buffer dei colori.
ONE_MINUS_DESTINATION_COLOR | Costante |
public static const ONE_MINUS_DESTINATION_COLOR:String = "oneMinusDestinationColor"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (1-Dr,1-Dg,1-Db,1-Da)
, dove Dr/g/b/a
è il componente corrispondente del colore corrente nel buffer dei colori.
ONE_MINUS_SOURCE_ALPHA | Costante |
public static const ONE_MINUS_SOURCE_ALPHA:String = "oneMinusSourceAlpha"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (1-Sa,1-Sa,1-Sa,1-Sa)
, dove Sa
corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel.
ONE_MINUS_SOURCE_COLOR | Costante |
public static const ONE_MINUS_SOURCE_COLOR:String = "oneMinusSourceColor"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (1-Sr,1-Sg,1-Sb,1-Sa)
, dove Sr/g/b/a
è il componente corrispondente del colore di un frammento calcolato dal programma di pixel.
SOURCE_ALPHA | Costante |
public static const SOURCE_ALPHA:String = "sourceAlpha"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (Sa,Sa,Sa,Sa)
, dove Sa
corrisponde al componente alfa del colore di un frammento calcolato dal programma di pixel.
SOURCE_COLOR | Costante |
public static const SOURCE_COLOR:String = "sourceColor"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (Sr,Sg,Sb,Sa)
, dove Sr/g/b/a
è il componente corrispondente del colore di un frammento calcolato dal programma di pixel.
ZERO | Costante |
public static const ZERO:String = "zero"
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 11, AIR 3 |
Il fattore di fusione è (0,0,0,0)
.
Tue Jun 12 2018, 02:44 PM Z