パッケージ | flash.display3D |
クラス | public final class Context3DBlendFactor |
継承 | Context3DBlendFactor Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は、ブレンド式でブレンド元またはブレンド先に乗算される特定の 4 つの値を持つベクター(一次元配列)を表します。ブレンド式は次のとおりです。
result = source * sourceFactor + destination * destinationFactor
この式では、ブレンド元カラーは、ピクセルシェーダープログラムの出力カラーです。ブレンド先カラーは、カラーバッファーに現在存在するカラーです。これは、前回のクリア操作と描画操作によって設定されています。
例えば、ブレンド元カラーが (.6, .6, .6, .4) であり、ブレンド元のブレンド係数が Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA
の場合、ブレンド方程式のブレンド元側は次のように計算されます。
(.6, .6, .6, .4) * (1-0.4, 1-0.4, 1-0.4, 1-0.4) = (.36, .36, .36, .24)
最終的な計算結果は、[0,1] の範囲に収まります。
例
次の例に、ブレンド元カラー = (.6,.4,.2,.4)、ブレンド先カラー = (.8,.8,.8,.5) で、様々なブレンド係数を使用したブレンド計算を示します。
用途 | ブレンド元の係数 | ブレンド先の係数 | ブレンド式 | 結果 |
---|---|---|---|---|
ブレンドなし | ONE | ZERO | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | ( .6, .4, .2, .4) |
アルファ | 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) |
加算 | ONE | ONE | (.6,.4,.2,.4) * ( 1, 1, 1, 1) + (.8,.8,.8,.5) * ( 1, 1, 1, 1) | ( 1, 1, 1, .9) |
乗算 | DESTINATION_COLOR | ZERO | (.6,.4,.2,.4) * (.8,.8,.8,.5) + (.8,.8,.8,.5) * ( 0, 0, 0, 0) | (.48,.32,.16, .2) |
スクリーン | 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) |
ブレンド係数のすべての組み合わせが有用というわけではありません。また、異なる計算方法で同じ結果となる場合があります。
関連する API エレメント
定数 | 定義元 | ||
---|---|---|---|
DESTINATION_ALPHA : String = "destinationAlpha" [静的]
ブレンド係数は (Da,Da,Da,Da) です。ここで、Da はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。 | Context3DBlendFactor | ||
DESTINATION_COLOR : String = "destinationColor" [静的]
ブレンド係数は (Dr,Dg,Db,Da) です。ここで、Dr/Dg/Db/Da はカラーバッファーにある現在のカラーの該当する成分を示します。 | Context3DBlendFactor | ||
ONE : String = "one" [静的]
ブレンド係数は (1,1,1,1) です。 | Context3DBlendFactor | ||
ONE_MINUS_DESTINATION_ALPHA : String = "oneMinusDestinationAlpha" [静的]
ブレンド係数は (1-Da,1-Da,1-Da,1-Da) です。ここで、Da はカラーバッファーにある現在のカラーのアルファ成分を示します。 | Context3DBlendFactor | ||
ONE_MINUS_DESTINATION_COLOR : String = "oneMinusDestinationColor" [静的]
ブレンド係数は (1-Dr,1-Dg,1-Db,1-Da) です。ここで、Dr/Dg/Db/Da はカラーバッファーにある現在のカラーの該当する成分を示します。 | Context3DBlendFactor | ||
ONE_MINUS_SOURCE_ALPHA : String = "oneMinusSourceAlpha" [静的]
ブレンド係数は (1-Sa,1-Sa,1-Sa,1-Sa) です。ここで、Sa はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。 | Context3DBlendFactor | ||
ONE_MINUS_SOURCE_COLOR : String = "oneMinusSourceColor" [静的]
ブレンド係数は (1-Sr,1-Sg,1-Sb,1-Sa) です。ここで、Sr/Sg/Sb/Sa はピクセルプログラムによって計算されたフラグメントのカラーの該当する成分を示します。 | Context3DBlendFactor | ||
SOURCE_ALPHA : String = "sourceAlpha" [静的]
ブレンド係数は(Sa,Sa,Sa,Sa) です。ここで、Sa はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。 | Context3DBlendFactor | ||
SOURCE_COLOR : String = "sourceColor" [静的]
ブレンド係数は (Sr,Sg,Sb,Sa) です。ここで、Sr/Sg/Sb/Sa はピクセルプログラムによって計算されたフラグメントのカラーの該当する成分を示します。 | Context3DBlendFactor | ||
ZERO : String = "zero" [静的]
ブレンド係数は (0,0,0,0) です。 | Context3DBlendFactor |
DESTINATION_ALPHA | 定数 |
public static const DESTINATION_ALPHA:String = "destinationAlpha"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (Da,Da,Da,Da)
です。ここで、Da
はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。
DESTINATION_COLOR | 定数 |
public static const DESTINATION_COLOR:String = "destinationColor"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (Dr,Dg,Db,Da)
です。ここで、Dr/Dg/Db/Da
はカラーバッファーにある現在のカラーの該当する成分を示します。
ONE | 定数 |
public static const ONE:String = "one"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (1,1,1,1)
です。
ONE_MINUS_DESTINATION_ALPHA | 定数 |
public static const ONE_MINUS_DESTINATION_ALPHA:String = "oneMinusDestinationAlpha"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (1-Da,1-Da,1-Da,1-Da)
です。ここで、Da
はカラーバッファーにある現在のカラーのアルファ成分を示します。
ONE_MINUS_DESTINATION_COLOR | 定数 |
public static const ONE_MINUS_DESTINATION_COLOR:String = "oneMinusDestinationColor"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (1-Dr,1-Dg,1-Db,1-Da)
です。ここで、Dr/Dg/Db/Da
はカラーバッファーにある現在のカラーの該当する成分を示します。
ONE_MINUS_SOURCE_ALPHA | 定数 |
public static const ONE_MINUS_SOURCE_ALPHA:String = "oneMinusSourceAlpha"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (1-Sa,1-Sa,1-Sa,1-Sa)
です。ここで、Sa
はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。
ONE_MINUS_SOURCE_COLOR | 定数 |
public static const ONE_MINUS_SOURCE_COLOR:String = "oneMinusSourceColor"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (1-Sr,1-Sg,1-Sb,1-Sa)
です。ここで、Sr/Sg/Sb/Sa
はピクセルプログラムによって計算されたフラグメントのカラーの該当する成分を示します。
SOURCE_ALPHA | 定数 |
public static const SOURCE_ALPHA:String = "sourceAlpha"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (Sa,Sa,Sa,Sa)
です。ここで、Sa
はピクセルプログラムによって計算されたフラグメントのカラーのアルファ成分を示します。
SOURCE_COLOR | 定数 |
public static const SOURCE_COLOR:String = "sourceColor"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (Sr,Sg,Sb,Sa)
です。ここで、Sr/Sg/Sb/Sa
はピクセルプログラムによって計算されたフラグメントのカラーの該当する成分を示します。
ZERO | 定数 |
public static const ZERO:String = "zero"
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 11, AIR 3 |
ブレンド係数は (0,0,0,0)
です。
Tue Jun 12 2018, 10:34 AM Z