I tried everything..
Source:
Texture class:
public class XAndroidTexture
{
private int[] textures = new int[1];
public int width, height;
Bitmap bmp;
public XAndroidTexture(GL10 gl, Bitmap bitmap)
{
gl.glEnable(GL10.GL_TEXTURE_2D);
this.bmp = bitmap;
width = bmp.getWidth();
height = bmp.getHeight();
gl.glGenTextures(1, textures, 0);
// ...and bind it to our array
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
// create nearest filtered texture
gl.glTexParameterf(GL10.GL_TEXTURE_2D,
GL10.GL_TEXTURE_MIN_FILTER,
GL10.GL_NEAREST);
gl.glTexParameterf(GL10.GL_TEXTURE_2D,
GL10.GL_TEXTURE_MAG_FILTER,
GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T,
GL10.GL_CLAMP_TO_EDGE);
gl.glTexEnvf(GL10.GL_TEXTURE_ENV, GL10.GL_TEXTURE_ENV_MODE,
GL10.GL_MODULATE);
// Use Android GLUtils to specify a two-dimensional texture
image
from our bitmap
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
//GLUtils.texSubImage2D(GL10.GL_TEXTURE_2D, 0, 0, 0, bmp);
// Clean up
bitmap.recycle();
}
public void bind(GL10 gl)
{
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);
}
public static XAndroidTexture createTextureFromBitmap(GL10 gl,
Bitmap bmp)
{
return new XAndroidTexture(gl, bmp);
}
}
Texture loading function:
XAndroidTexture Textureload(String path)
{
InputStream is;
Bitmap bmp = null;
try
{
is = this.getAssets().open(path);
BitmapFactory.Options opts = new
BitmapFactory.Options();
opts.inDither = true;
Bitmap tBmp = BitmapFactory.decodeStream(is, null,
opts);
bmp = Bitmap.createBitmap(tBmp.getWidth(),
tBmp.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
canvas.drawBitmap(tBmp, 0, 0, null);
canvas.save();
tBmp.recycle();
tBmp = null;
}
catch (IOException e)
{
e.printStackTrace();
}
if(bmp == null)
return null;
else
return new XAndroidTexture(gl, bmp);
}
It working on Emulator perfect, but not on device....
Can anyone post here texture class that work on device?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en