テクスチャアニメーション
ゲームでキャラクターのアニメーションなどを実装する場合は、
テクスチャ座標の変更をしますが、OpenGL ESでは、テクスチャ座標の指定を、動的にピクセル単位で指定することはできないため、行列変換を行います
AndroidのOpenGL ESで組み込んだ場合は以下のようになりました
gl.glMatrixMode(GL10.GL_TEXTURE); gl.glLoadIdentity(); gl.glTranslatef( テクスチャのX座標 / 画像のXサイズ, テクスチャのY座標 / 画像のYサイズ, 0); gl.glScalef( 表示Xサイズ / 画像のXサイズ, 表示Yサイズ / 画像のYサイズ, 1); gl.glMatrixMode(GL10.GL_MODELVIEW); gl.glLoadIdentity(); gl.glTranslatef(表示X座標, 表示Y座標, 0); gl.glScalef( 表示Xサイズ / 画像のXサイズ * 伸縮X, 表示Yサイズ / 画像のYサイズ * 伸縮Y, 1.0f); gl.glRotatef(回転角度, 0, 0, 1);
これで、テクスチャの座標と、表示サイズを変更することで
テクスチャアニメーションが行えます