Nope, it's not lightweight.. at all.
And the cred is not mine. I got the code snippet from somewhere else,
but i don't remember from where... I think from anddev.org.

On May 3, 2:44 am, Robert Green <rbgrn....@gmail.com> wrote:
> Awesome that you worked that out - but man... that sure isn't
> lightweight!  I bet you could get substantial performance gains doing
> that conversion natively and passing the processed array up to java.
>
> On May 2, 4:34 pm, Streets Of Boston <flyingdutc...@gmail.com> wrote:
>
>
>
>
>
> > 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 <crotalistig...@gmail.com> 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 android-developers@googlegroups.com
> > > To unsubscribe from this group, send email to
> > > android-developers+unsubscr...@googlegroups.com
> > > 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 android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscr...@googlegroups.com
> > 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 android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group 
> athttp://groups.google.com/group/android-developers?hl=en- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to