クラス _GLTexture/_GLTexture2

net.satis.d2a._Scalable
└ net.satis.d2a.gl._GLTexture
   └ net.satis.d2a.gl._GLTexture2

OpenGL ES のテクスチャを管理するクラスです。

コンストラクタ

_GLTexture
_GLTexture2

public _GLTexture(GL10 gl, Resources res, int index_num, int gen_num) [_GLTexture クラス]
public _GLTexture2(GL10 gl, Resources res, int index_num, int gen_num) [_GLTexture2 クラス]

_GLTexture/_GLTexture2 コンストラクタです。

パラメータ:
glGL10 オブジェクトを指定します。
resResources オブジェクトを指定します。
index_numテクスチャ・リソースの数を指定します。
gen_numOpenGL ES で管理するテクスチャの数を指定します。

メソッド

dispose

public void dispose()

全テクスチャのメモリを解放して OpenGL ES テクスチャへの割り当てを解除します。

補足説明:
_Canvas3D クラスを継承したクラスの end3D() メソッド内で、本メソッドを呼び出してください。

getTextureSize

public static int getTextureSize(int size)

テクスチャに適したサイズに(必要ならば)拡張された値を返します。

パラメータ:
size拡張前のサイズ

戻り値:
テクスチャに適したサイズに拡張する必要がある場合、拡張された値。拡張する必要がない場合、size パラメータの値。

use

public void use(int index, boolean use_trans)
public void use(int index)

テクスチャを構築して OpenGL ES テクスチャに割り当てます。

パラメータ:
indexテクスチャ・リソースのインデックス
use_transsetTransparency() メソッドを使用する場合 true を、使用しない場合 false を指定します。省略時は false になります。

unuse

public void unuse(int index)
public void unuse()

テクスチャのメモリを解放して OpenGL ES テクスチャへの割り当てを解除します。

パラメータ:
indexテクスチャ・リソースのインデックス

update

public void update(int index, int[] pixels, int length)
public void update(int index, Bitmap bitmap)

テクスチャを更新します。

パラメータ:
indexテクスチャ・リソースのインデックス
pixels初期化に使用するピクセルデータ
lengthピクセルデータのデータ長
bitmap初期化に使用するイメージ

setTransparency

public void setTransparency(int index, int trans)

透明度を変更します。

パラメータ:
indexテクスチャ・リソースのインデックス
transα値を 0 から 255 の値で指定します。255 で不透明、0 で完全な透明になります。

id

public int id(int index)

OpenGL ES でのテクスチャIDを取得します。

パラメータ:
indexテクスチャ・リソースのインデックス

戻り値:
OpenGL ES でのテクスチャIDを返します。

width

public int width(int index)

テクスチャの幅を取得します。

パラメータ:
indexテクスチャ・リソースのインデックス

戻り値:
テクスチャの幅を返します。

height

public int height(int index)

テクスチャの高さを取得します。

パラメータ:
indexテクスチャ・リソースのインデックス

戻り値:
テクスチャの高さを返します。

alpha

public boolean alpha(int index)

テクスチャがα情報を保持しているかを確認します。

パラメータ:
indexテクスチャ・リソースのインデックス

戻り値:
テクスチャがα情報を保持している場合 true、保持していない場合 false

depth

public boolean depth(int index)

テクスチャがデプスバッファ有効に設定されているかを確認します。

パラメータ:
indexテクスチャ・リソースのインデックス

戻り値:
テクスチャがデプスバッファ有効に設定されている場合 true、そうでない場合 false

setCanvasHeight

public void setCanvasHeight(int height)

キャンバスの高さを通知します。

パラメータ:
heightキャンバスの高さ

補足説明:
本メソッドの設定は、draw() メソッドでのみ参照されます。draw() メソッドを使用しない場合は、本メソッド呼び出しは必要ありません。

setScale

public void setScale(float scale)

拡大率を設定します。

パラメータ:
scale拡大率を指定します。1.0f で等倍になります。

補足説明:
本メソッドの設定は、draw() メソッドでのみ参照されます。draw() メソッドを使用しない場合は、本メソッド呼び出しは必要ありません。

scale

public float scale()

拡大率を取得します。

戻り値:
拡大率を返します。

scaledValue

public int scaledValue(int val)

整数値をスケーリングして返します。

パラメータ:
val整数値

戻り値:
スケーリングされた整数値

setFlipMode

public void setFlipMode(int flipmode)

テクスチャの描画時に反転または回転して描画を行うかどうかを設定します。

パラメータ:
flipmodeテクスチャの描画時の反転または回転方法を指定します。次のいずれかを指定します。

_GLTexture.FLIP_NONE 反転しないことを表します。
_GLTexture.FLIP_HORIZONTAL 横方向に鏡像反転することを表します。
_GLTexture.FLIP_VERTICAL 縦方向に鏡像反転することを表します。
_GLTexture.FLIP_ROTATE 縦横方向に鏡像反転(180度回転)することを表します。

補足説明:
本メソッドの設定は、draw() メソッドでのみ参照されます。draw() メソッドを使用しない場合は、本メソッド呼び出しは必要ありません。

lock

public void lock(int index)

テクスチャの使用を宣言します。

パラメータ:
index使用宣言するテクスチャ・リソースのインデックスを指定します。

補足説明:
同じテクスチャに対して draw() メソッドを連続して呼び出す場合、本メソッドでテクスチャの使用を宣言してから、draw() メソッドを連続して呼び出した後、unlockTexture() メソッドで使用宣言を解除することで、処理の高速化が図れます。

unlock

public void unlock()

テクスチャの使用宣言を解除します。

draw

public void draw(int index, int dx, int dy)
public void draw(int index, int dx, int dy, int sx, int sy, int swidth, int sheight)
public void draw(int index, int dx, int dy, int dwidth, int dheight, int sx, int sy, int swidth, int sheight)

テクスチャを描画します。

パラメータ:
index描画するテクスチャ・リソースのインデックスを指定します。
dx描画先の矩形の左上のX座標を指定します。
dy描画先の矩形の左上のY座標を指定します。
dwidth描画先の矩形の幅を指定します。
dheight描画先の矩形の高さを指定します。
sx描画元の矩形の左上のX座標を指定します。
sy描画元の矩形の左上のY座標を指定します。
swidth描画元の矩形の幅を指定します。
sheight描画元の矩形の高さを指定します。

補足説明:
lock() メソッドから unlock() メソッドの間では、index パラメータは無視されます。

[_GLTexture2 クラス] create2D

public void create2D(int width, int height)

2D描画用のテクスチャ・イメージを生成します。

パラメータ:
width描画領域の幅を指定します。
height描画領域の高さを指定します。

[_GLTexture2 クラス] getImage2D

public _Image getImage2D()

2D描画用のテクスチャ・イメージを取得します。

戻り値:
2D描画用のテクスチャ・イメージを返します。

[_GLTexture2 クラス] lock2D

public _Graphics lock2D()

2D描画の開始を宣言します。

戻り値:
2D描画を行うための _Graphics オブジェクトを返します。

[_GLTexture2 クラス] unlock2D

public void unlock2D(boolean applyScale)

2D描画の終了を宣言します。

パラメータ:
applyScalesetScale() メソッドの設定を見る場合 true、見ない場合 false

補足説明:
本メソッドを呼ぶことで、2D描画内容がテクスチャに反映され、画面に表示されます。

[_GLTexture2 クラス] draw2D

public void draw2D(boolean applyScale)

2D描画用のテクスチャを画面に表示します。

パラメータ:
applyScalesetScale() メソッドの設定を見る場合 true、見ない場合 false

resourceId

public int resourceId(int index)

本メソッドをオーバーライドして、テクスチャのリソースIDを返してください。

パラメータ:
indexテクスチャ・リソースのインデックスが渡されます。

createBitmap

public Bitmap createBitmap(Resources res, int index)

リソースファイルからのテクスチャ構築でない場合は、本メソッドをオーバーライドして、Bitmap オブジェクトを返してください。

パラメータ:
resResources オブジェクトが渡されます。
indexテクスチャ・リソースのインデックスが渡されます。

alphaFlag

public boolean alphaFlag(int index)

本メソッドをオーバーライドして、テクスチャがα情報を保持している場合 true、保持していない場合 false を返してください。

パラメータ:
indexテクスチャ・リソースのインデックスが渡されます。

depthFlag

public boolean depthFlag(int index)

本メソッドをオーバーライドして、デプスバッファを有効にする場合 true、無効にする場合 false を返してください。

パラメータ:
indexテクスチャ・リソースのインデックスが渡されます。

filter

public int filter(int index)

本メソッドをオーバーライドして、テクスチャを拡大・縮小する場合の処理の方法を返してください。

パラメータ:
indexテクスチャ・リソースのインデックスが渡されます。

wrap

public int wrap(int index)

本メソッドをオーバーライドして、テクスチャ座標の繰り返し方法を返してください。

パラメータ:
indexテクスチャ・リソースのインデックスが渡されます。