Try using bitmap with power of two dimensions or even square bitmap with power of two dimensions. Something like 64*64 or 128*128.
On 16 июл, 19:00, odrya12 <[email protected]> wrote: > 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

