Android Open Source - Tanks Renderable From Project Back to project page Tanks .
License The source code is released under:
MIT License
If you think the Android project Tanks listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.ThirtyNineEighty.Renderable;
/ / w w w . j a v a 2 s . c o m
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLES20;
import android.opengl.GLUtils;
import android.util.Log;
import com.ThirtyNineEighty.System.GameContext;
import java.io.InputStream;
import java.util.HashMap;
public final class Renderable
{
private static HashMap<String, Integer > cache = new HashMap<String, Integer >();
public static int loadTexture(String fileName, boolean generateMipmap)
{
if (cache.containsKey(fileName))
return cache.get(fileName);
try
{
InputStream stream = GameContext.getAppContext().getAssets().open(fileName);
Bitmap bitmap = BitmapFactory.decodeStream(stream);
stream.close();
int type = GLUtils.getType(bitmap);
int format = GLUtils.getInternalFormat(bitmap);
int [] textures = new int [1];
GLES20.glGenTextures(1, textures, 0);
GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textures[0]);
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, format, bitmap, type, 0);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_REPEAT);
if (generateMipmap)
GLES20.glGenerateMipmap(GLES20.GL_TEXTURE_2D);
bitmap.recycle();
int error;
if ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR)
Log.e("Error" , Integer.toString(error));
cache.put(fileName, textures[0]);
return textures[0];
}
catch (Exception e)
{
Log.e("Error" , e.getMessage());
return 0;
}
}
public static void clearCache()
{
cache.clear();
}
}
Java Source Code List com.ThirtyNineEighty.Game.EngineObject.java com.ThirtyNineEighty.Game.IEngineObject.java com.ThirtyNineEighty.Game.Collisions.Collidable.java com.ThirtyNineEighty.Game.Collisions.Collision2D.java com.ThirtyNineEighty.Game.Collisions.Collision3D.java com.ThirtyNineEighty.Game.Collisions.CollisionManager.java com.ThirtyNineEighty.Game.Collisions.Collision.java com.ThirtyNineEighty.Game.Collisions.ICollidable.java com.ThirtyNineEighty.Game.Gameplay.Bullet.java com.ThirtyNineEighty.Game.Gameplay.GameObject.java com.ThirtyNineEighty.Game.Gameplay.Tank.java com.ThirtyNineEighty.Game.Gameplay.Characteristics.CharacteristicFactory.java com.ThirtyNineEighty.Game.Gameplay.Characteristics.Characteristic.java com.ThirtyNineEighty.Game.Gameplay.Characteristics.Upgrade.java com.ThirtyNineEighty.Game.Menu.BaseMenu.java com.ThirtyNineEighty.Game.Menu.GameMenu.java com.ThirtyNineEighty.Game.Menu.IMenu.java com.ThirtyNineEighty.Game.Menu.Controls.Button.java com.ThirtyNineEighty.Game.Menu.Controls.IControl.java com.ThirtyNineEighty.Game.Worlds.GameWorld.java com.ThirtyNineEighty.Game.Worlds.IWorld.java com.ThirtyNineEighty.Helpers.Plane.java com.ThirtyNineEighty.Helpers.Vector2.java com.ThirtyNineEighty.Helpers.Vector3.java com.ThirtyNineEighty.Helpers.VectorUtils.java com.ThirtyNineEighty.Helpers.Vector.java com.ThirtyNineEighty.Renderable.Renderable.java com.ThirtyNineEighty.Renderable.Shader2D.java com.ThirtyNineEighty.Renderable.Shader3D.java com.ThirtyNineEighty.Renderable.Shader.java com.ThirtyNineEighty.Renderable.Renderable2D.I2DRenderable.java com.ThirtyNineEighty.Renderable.Renderable2D.Label.java com.ThirtyNineEighty.Renderable.Renderable2D.Sprite.java com.ThirtyNineEighty.Renderable.Renderable3D.I3DRenderable.java com.ThirtyNineEighty.Renderable.Renderable3D.Model3D.java com.ThirtyNineEighty.System.ConfigChooser.java com.ThirtyNineEighty.System.Content.java com.ThirtyNineEighty.System.GameActivity.java com.ThirtyNineEighty.System.GameContext.java com.ThirtyNineEighty.System.IContent.java com.ThirtyNineEighty.System.ISubprogram.java