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. Face Detection


I am trying the FaceDetector class using the code as shown in the
following link:


Everything works fine as far as the activity drawing the bitmaps is
concerned but I haven't had any success in getting Android to
recognize a face.

Has anyone tried this feature? Could anyone please help in
understanding the parameters of the images to use or please post a
link to some image that has worked for them?


2. question about WebView and MapView

Basically I am switching my web coded menu to something native so I
have top 1/4th as native menu and rest as webview and than a menu
button switching to MapActivity to display the MapView.

It is my understanding to get it to switch right as far as layout I
would set up a MapView.xml layout file

Thus than when the Map menu button is pressed the webview activity
woudld close and MapView activity would open..

The road block I see is that since I am switching form using webview I
would need  to use webivew as a container to hold mapview in so that I
can still capture javascript stuff via the java to javascript bridge
but I would gain full hitestResutls features with ful touch events by
having MapView contained in webivew..

Have I missed anything?

3. Enabling PV logging in Opencore2.0

4. How to determine requirements for porting Android?

5. HttpURLConnection returns corrupt data on Dev phone

6. Android Market broken? Can't see the new release of my app in the Android Market?!

7. webView in a loop