-
- All Implemented Interfaces:
-
com.serenegiant.opengl.IDrawer2D
public class GLDrawer2D implements IDrawer2D描画領域全面にテクスチャを2D描画するためのヘルパークラス
-
-
Constructor Summary
Constructors Constructor Description GLDrawer2D(boolean isOES)コンストラクタGLコンテキスト/EGLレンダリングコンテキストが有効な状態で呼ばないとダメ GLDrawer2D(Array<float> vertices, Array<float> texcoord, boolean isOES)コンストラクタGLコンテキスト/EGLレンダリングコンテキストが有効な状態で呼ばないとダメ
-
Method Summary
Modifier and Type Method Description voidrelease()破棄処理。GLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメ booleanisOES()外部テクスチャを使うかどうか Array<float>getMvpMatrix()モデルビュー変換行列を取得(内部配列を直接返すので変更時は要注意) IDrawer2DsetMvpMatrix(Array<float> matrix, int offset)モデルビュー変換行列に行列を割り当てる voidgetMvpMatrix(Array<float> matrix, int offset)モデルビュー変換行列のコピーを取得 synchronized voiddraw(int texId, Array<float> tex_matrix, int offset)指定したテクスチャを指定したテクスチャ変換行列を使って描画領域全面に描画するためのヘルパーメソッドこのクラスインスタンスのモデルビュー変換行列が設定されていればそれも適用された状態で描画する voiddraw(ITexture texture)Textureオブジェクトを描画するためのヘルパーメソッドTextureオブジェクトで管理しているテクスチャ名とテクスチャ座標変換行列を使って描画する voiddraw(TextureOffscreen offscreen)TextureOffscreenオブジェクトを描画するためのヘルパーメソッド intinitTex()テクスチャ名生成のヘルパーメソッドGLHelper#initTexを呼び出すだけ voiddeleteTex(int hTex)テクスチャ名破棄のヘルパーメソッドGLHelper. synchronized voidupdateShader(String vs, String fs)頂点シェーダー・フラグメントシェーダーを変更するGLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメglUseProgramが呼ばれた状態で返る voidupdateShader(String fs)フラグメントシェーダーを変更するGLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメglUseProgramが呼ばれた状態で返る voidresetShader()頂点シェーダー・フラグメントシェーダーをデフォルトに戻す intglGetAttribLocation(String name)アトリビュート変数のロケーションを取得glUseProgramが呼ばれた状態で返る intglGetUniformLocation(String name)ユニフォーム変数のロケーションを取得glUseProgramが呼ばれた状態で返る voidglUseProgram()glUseProgramが呼ばれた状態で返る -
-
Method Detail
-
release
void release()
破棄処理。GLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメ
-
isOES
boolean isOES()
外部テクスチャを使うかどうか
-
getMvpMatrix
Array<float> getMvpMatrix()
モデルビュー変換行列を取得(内部配列を直接返すので変更時は要注意)
-
setMvpMatrix
IDrawer2D setMvpMatrix(Array<float> matrix, int offset)
モデルビュー変換行列に行列を割り当てる
- Parameters:
matrix- 領域チェックしていないのでoffsetから16個以上必須
-
getMvpMatrix
void getMvpMatrix(Array<float> matrix, int offset)
モデルビュー変換行列のコピーを取得
- Parameters:
matrix- 領域チェックしていないのでoffsetから16個以上必須
-
draw
synchronized void draw(int texId, Array<float> tex_matrix, int offset)
指定したテクスチャを指定したテクスチャ変換行列を使って描画領域全面に描画するためのヘルパーメソッドこのクラスインスタンスのモデルビュー変換行列が設定されていればそれも適用された状態で描画する
- Parameters:
texId- texture IDtex_matrix- テクスチャ変換行列、nullならば以前に適用したものが再利用される。領域チェックしていないのでoffsetから16個以上確保しておくこと
-
draw
void draw(ITexture texture)
Textureオブジェクトを描画するためのヘルパーメソッドTextureオブジェクトで管理しているテクスチャ名とテクスチャ座標変換行列を使って描画する
-
draw
void draw(TextureOffscreen offscreen)
TextureOffscreenオブジェクトを描画するためのヘルパーメソッド
-
initTex
int initTex()
テクスチャ名生成のヘルパーメソッドGLHelper#initTexを呼び出すだけ
-
deleteTex
void deleteTex(int hTex)
テクスチャ名破棄のヘルパーメソッドGLHelper.deleteTexを呼び出すだけ
-
updateShader
synchronized void updateShader(String vs, String fs)
頂点シェーダー・フラグメントシェーダーを変更するGLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメglUseProgramが呼ばれた状態で返る
- Parameters:
vs- 頂点シェーダー文字列fs- フラグメントシェーダー文字列
-
updateShader
void updateShader(String fs)
フラグメントシェーダーを変更するGLコンテキスト/EGLレンダリングコンテキスト内で呼び出さないとダメglUseProgramが呼ばれた状態で返る
- Parameters:
fs- フラグメントシェーダー文字列
-
resetShader
void resetShader()
頂点シェーダー・フラグメントシェーダーをデフォルトに戻す
-
glGetAttribLocation
int glGetAttribLocation(String name)
アトリビュート変数のロケーションを取得glUseProgramが呼ばれた状態で返る
-
glGetUniformLocation
int glGetUniformLocation(String name)
ユニフォーム変数のロケーションを取得glUseProgramが呼ばれた状態で返る
-
glUseProgram
void glUseProgram()
glUseProgramが呼ばれた状態で返る
-
-
-
-