Below is a snippet of code that turns a buffer from GL into a buffer
that can be used by a Bitmap.
I'm not sure if you can get a buffer from GL without been having
showing it before or if this is what you're exactly looking for.
But here goes anyway :-)

====================

public void savePixels(int x, int y, int w, int h, GL10 gl) {
        if (gl == null)
                return;

        // synchronized (this) {
        // if (mSavedBM != null) {
        // mSavedBM.recycle();
        // mSavedBM = null;
        // }
        // }

        int b[] = new int[w * (y + h)];
        int bt[] = new int[w * h];
        IntBuffer ib = IntBuffer.wrap(b);
        ib.position(0);
        gl.glReadPixels(x, 0, w, y + h, GL10.GL_RGBA,GL10.GL_UNSIGNED_BYTE,
ib);

        for (int i = 0, k = 0; i < h; i++, k++) {// remember, that OpenGL
bitmap
                                        // is incompatible with
                                        // Android bitmap
                                           // and so, some correction need.
                for (int j = 0; j < w; j++) {
                        int pix = b[i * w + j];
                        int pb = (pix >> 16) & 0xff;
                        int pr = (pix << 16) & 0x00ff0000;
                        int pix1 = (pix & 0xff00ff00) | pr | pb;
                        bt[(h - k - 1) * w + j] = pix1;
                }
        }

        Bitmap sb = Bitmap.createBitmap(bt, w, h, Bitmap.Config.ARGB_8888);
        synchronized (this) {
                mSavedBM = sb;
        }
}
====================

On May 2, 2:45 pm, SChaser <[email protected]> wrote:
> I would like to be able to use OpenGL in the Android to render into a
> bitmap (or any other sort of buffer I can turn into one), without
> actually displaying a GLSurfaceView.
>
> The purpose is to dynamically create very complex images using OpenGL,
> and then drawing those images on the canvas of a MapView.
>
> I have tried overlaying a translucent GLSurfaceView over a MapView, my
> preferred approach, but it has some problems:
>
> 1) I have complex menus I need to display from either the MapView or
> the GLSurfaceView. I have been doing this using a ListView with its
> own activity. Unfortunately, that activity pushes the MapView down the
> stack. The result is a bit of flickering when the ListView activity
> finishes, popping the MapView back to the top. Even worse, if I use
> the ListView to overlay the GLSurfaceView (giving it the same complex
> menu capabilities), when it finishes, the GLSurfaceView reappears but
> the MapView doesn't display.
>
> 2)As soon as the GLSurfaceView is created, the MapView stops fetching
> and rendering tiles. There seems to be no way to know when the MapView
> is complete, so I have to delay an arbitrary interval before creating
> the surfaceview.
>
> 3) When the GLSurfaceView is present, the MapView's built-in user
> interface functions are obscured.
>
> Anyone know if there is a way around any of these problems?
>
> --
> 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 
> athttp://groups.google.com/group/android-developers?hl=en

-- 
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

Reply via email to