Mipmap Generation

by Mike » Wed, 15 Jul 2009 00:26:53 GMT

Sponsored Links
 I've created a simple heightmap renderer for Android, and am at the
point where I'd like to apply textures to the terrain. I've had
success with applying a simple texture but there is an unbearable
amount of texture aliasing visible, I guess because there are no
mipmaps for the texture. I could not find any way of automatically
generating mipmaps as all the usual OpenGL methods seem to be

Have any of you figured out how to generate mipmaps on Android? Do we
need to write our own implementation to to it?



Mipmap Generation

by Mike » Wed, 15 Jul 2009 04:08:55 GMT

 Well I've come up with a solution, but I'd still like to hear from
others if you have a better way of doing it.

private int loadTexture(GL10 gl, Bitmap bmp)
        int level = 0;
        int size = bmp.getHeight();

        int[] textures = new int[1];
        gl.glGenTextures(1, textures, 0);
        int textureId = textures[0];

        gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);

        while(size >= 1)
                GLUtils.texImage2D(GL10.GL_TEXTURE_2D, level, bmp, 0);

                if(size == 1)

                size /= 2;
                Bitmap bmp2 = Bitmap.createScaledBitmap(bmp, size, size, true);
                bmp = bmp2;

        return textureId;


Sponsored Links

Mipmap Generation

by Nightwolf » Sat, 25 Jul 2009 00:30:56 GMT

 In texture loading function please try the following

gl.glGenTextures(1, texID, 0);

gl.glBindTexture(GL10.GL_TEXTURE_2D, texID[0]);


Mipmap Generation

by nea » Fri, 31 Jul 2009 03:05:45 GMT


I am also currently trying to get MipMaps to work and eventually this
is the thread that pops up several times in the search ^^'.

The problem I have with your posted solution, it does not work for me.
As soon as I try it your way I do not get any texture at all. It just
stays white. What could be the problem, as it should be the normal way
to to MipMaps by adding the new images to the according level. But as
soon as I add a second level it stays white. I define
gl.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]);

before, but still it won't work.

Does anybody has a solution or a hint what could help here?

Thanks in advance.



Mipmap Generation

by Ante » Sat, 05 Sep 2009 00:49:51 GMT

 Hi Mike.

This works in the emulator:
if(gl instanceof GL11)
    gl.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_GENERATE_MIPMAP,
    GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);

Though, this doesnt help if your device doesnt support the GL11

I tried your mip mapping function but without success. You wouldnt
happen to have a working example?

Best regards,


Other Threads

1. help : adb devices doesnot work

Hi all.
I have a problem in adb.
I installed ubuntu 8.10 into virtualbox and android src building,
fastboot, emulator are all working well.
But when I try to attach real H/W into my PC, the adb doesnot list the
I changed to root and added the 51-android.rules like
SUBSYSTEM=="usb", SYSFS{idVendor}=="05c6", MODE="0666"
and /etc/init.d/udev restart and it's ok.
but my adb still doesnot list device.
when I do lsusb
Bus 002 Device 004: ID 05c6:9018 Qualcomm, Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

How can i make the adb devices work?

unsubscribe: android-porting+unsubscr...@googlegroups.com

2. disable GPS


How can we disable GPS programmatically?

Thanks in advance


3. Closing more than one activity in the activity stack

4. how to get the caller name which displays on the incoming call screen

5. What is a toast?

6. Getting red square using Google Map

7. Error while compiling native apps.