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 <[email protected]> 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 <[email protected]> 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 <[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 > > 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 > 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 [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

