I have an application that takes advantage of the openGL API to obtain some renders that I need to have as bitmaps.
I am using a HW-accelerated-graphics device (N93, N95) so rendering to a bitmap it is not an option.
I have been rendering using a pbuffer succesfully and then converting this pbuffer into a CWsBitmap.
To do that I was generating the CWsBitmap like this:
Then I copy the pbuffer (previously and successfuly created) with:iPixmap = new CWsBitmap( iEikonEnv->WsSession() );
iPixmap->Create( Window().Size(), DMode);
(I chose a CWsBitmap because this one was working on nokia example SimpleCubepbuffer)// Copy contents of Pbuffer surface to a native Pixmap
eglCopyBuffers( EglDisplay, EglSurface, iPixmap );
My question is:
The openGL API says that I have to use a "native bitmap" as the third argument for eglCopyBuffers. Can I use a CFbsBitmap or CWsBitmap is my only option? Can I access the pixels on the pbuffer in any other way than the interface eglCopyBuffers?
The best situation will be accessing straight to the pixels of the rendered image with a pointer instead of copying it to a bitmap and then calling DataAddress()
If not possible, rendering to a CFbsBitmap is easier for me than to a CWsBitmap. Is it possible? Will it be much slower if so?
Thanks in advance for the answers.