|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface IBlendSupport
描画モードを用いた合成処理を支援するサービスです。 このサービスはシングルトンではないため、インジェクトするごとに新しいインスタンスが生成されます。
replace(BlendMode, IShaderProgram)
メソッドや setProgramsClass(Class)
メソッドによって
描画モードの実装を変更することができます。例えば、フラクタルノイズエフェクトは色相と彩度の実装を独自のものに置き換えています。
メソッドの概要 | |
---|---|
IVideoBuffer |
blend(IVideoBuffer src,
IVideoBuffer dstIn,
IVideoBuffer dstOut,
BlendMode blendMode,
double opacity)
|
IVideoBuffer |
blend(IVideoBuffer src,
IVideoBuffer dstIn,
IVideoBuffer dstOut,
BlendMode blendMode,
double opacity,
IVideoEffectContext context)
blendMode で指定した描画モードを用いて dstIn の上に
src を合成し、dstOut に結果を出力します。 |
IVideoBuffer |
dissolve(IVideoBuffer src,
IVideoBuffer dstIn,
IVideoBuffer dstOut,
double opacity,
double seed)
|
java.lang.Class<?> |
getUnmultSrcClass()
ソースバッファがストレートアルファである場合の、描画モードの実装を取得します。 |
void |
replace(BlendMode blendMode,
IShaderProgram program)
blendMode で指定した描画モードの実装を、
program のシェーダプログラムに置き換えます。 |
void |
setProgramsClass(java.lang.Class<?> programsClass)
描画モードの実装を programsClass のクラスが持つものに全て置き換えます。 |
メソッドの詳細 |
---|
java.lang.Class<?> getUnmultSrcClass()
void setProgramsClass(java.lang.Class<?> programsClass)
programsClass
のクラスが持つものに全て置き換えます。
programsClass
のクラス内で、BlendMode.DANCING_DISSOLVE
を除くすべての描画モードに対してシェーダプログラムが定義されている必要があります。
programsClass
- 描画モードの実装をもつクラスオブジェクトvoid replace(BlendMode blendMode, IShaderProgram program)
blendMode
で指定した描画モードの実装を、
program
のシェーダプログラムに置き換えます。
blendMode
- 実装を置き換える描画モードprogram
- 描画モードのシェーダプログラムIVideoBuffer blend(IVideoBuffer src, IVideoBuffer dstIn, IVideoBuffer dstOut, BlendMode blendMode, double opacity, IVideoEffectContext context)
blendMode
で指定した描画モードを用いて dstIn
の上に
src
を合成し、dstOut
に結果を出力します。
opacity
で src
の不透明度を指定することができます。
dstOut
に null
を指定した場合、dstIn
と同じ位置とサイズで出力バッファが作成され、戻り値に返されます。
blendMode
が BlendMode.DISSOLVE
または
BlendMode.DANCING_DISSOLVE
の場合、実行中のエフェクトのコンテキストを
引数 context
に与える必要があります。これは、コンテキストから乱数のシードを決定するためです。
シードを明示的に指定する場合は dissolve(IVideoBuffer, IVideoBuffer, IVideoBuffer, double, double)
メソッドを使用してください。
src
- 上になる画像dstIn
- 下になる画像dstOut
- 合成の結果を出力するバッファblendMode
- 合成に用いる描画モードopacity
- src
の不透明度context
- 実行中のエフェクトのコンテキスト
dstOut
が null
の場合は新たに作成されたバッファ、そうでない場合は dstOut
IVideoBuffer blend(IVideoBuffer src, IVideoBuffer dstIn, IVideoBuffer dstOut, BlendMode blendMode, double opacity)
IVideoBuffer dissolve(IVideoBuffer src, IVideoBuffer dstIn, IVideoBuffer dstOut, double opacity, double seed)
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |