public class MediaEffectDrawer
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
FRAGMENT_SHADER_2D |
protected static java.lang.String |
FRAGMENT_SHADER_EXT |
protected boolean |
mEnabled |
protected TextureOffscreen |
mOutputOffscreen |
protected java.lang.Object |
mSync |
| Constructor and Description |
|---|
MediaEffectDrawer() |
MediaEffectDrawer(boolean isOES,
java.lang.String fss) |
MediaEffectDrawer(boolean isOES,
java.lang.String vss,
java.lang.String fss) |
MediaEffectDrawer(java.lang.String fss) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
apply(int tex_id,
float[] tex_matrix,
int offset)
preDraw => draw => postDrawを順に呼び出す
|
protected void |
draw(int tex_id,
float[] tex_matrix,
int offset)
実際の描画実行, GLES20.glDrawArraysを呼び出すだけ
mSyncはロックされて呼び出される
|
float[] |
getMvpMatrix() |
void |
getMvpMatrix(float[] matrix,
int offset)
モデルビュー変換行列のコピーを取得
|
protected int |
getProgram() |
protected void |
postDraw()
描画後の後処理, テクスチャのunbind, プログラムをデフォルトに戻す
mSyncはロックされて呼び出される
|
protected void |
preDraw(int tex_id,
float[] tex_matrix,
int offset)
描画の前処理
テクスチャ変換行列/モデルビュー変換行列を代入, テクスチャをbindする
mSyncはロックされて呼び出される
|
void |
release() |
void |
setMvpMatrix(float[] matrix,
int offset)
モデルビュー変換行列に行列を割り当てる
|
void |
setTexSize(int width,
int height)
このクラスでは何もしない, 必要なら下位クラスでオーバーライドすること
|
protected TextureOffscreen mOutputOffscreen
protected boolean mEnabled
protected static final java.lang.String FRAGMENT_SHADER_2D
protected static final java.lang.String FRAGMENT_SHADER_EXT
protected final java.lang.Object mSync
public MediaEffectDrawer()
public MediaEffectDrawer(java.lang.String fss)
public MediaEffectDrawer(boolean isOES,
java.lang.String fss)
public MediaEffectDrawer(boolean isOES,
java.lang.String vss,
java.lang.String fss)
public void release()
protected int getProgram()
public float[] getMvpMatrix()
public void setTexSize(int width,
int height)
width - height - public void setMvpMatrix(float[] matrix,
int offset)
matrix - 領域チェックしていないのでoffsetから16個以上必須offset - public void getMvpMatrix(float[] matrix,
int offset)
matrix - 領域チェックしていないのでoffsetから16個以上必須offset - protected void apply(int tex_id,
float[] tex_matrix,
int offset)
tex_id - texture IDtex_matrix - テクスチャ変換行列、nullならば以前に適用したものが再利用される.領域チェックしていないのでoffsetから16個以上確保しておくことoffset - テクスチャ変換行列のオフセットprotected void preDraw(int tex_id,
float[] tex_matrix,
int offset)
tex_id - texture IDtex_matrix - テクスチャ変換行列、nullならば以前に適用したものが再利用される.領域チェックしていないのでoffsetから16個以上確保しておくことoffset - テクスチャ変換行列のオフセットprotected void draw(int tex_id,
float[] tex_matrix,
int offset)
tex_id - texture IDtex_matrix - テクスチャ変換行列、nullならば以前に適用したものが再利用される.領域チェックしていないのでoffsetから16個以上確保しておくことoffset - テクスチャ変換行列のオフセットprotected void postDraw()