Capture ScreenShot with openGL

Possible duplicate:
I want to capture the screen when any game is running with opengl

I am developing a game with OpenGL.
When the userโ€™s best shot, I want to capture them and upload them to the social network.
I used a lot of code, but without success. Some codes are included:

OpenGL ES View Snapshot

NSInteger myDataLength = 480 * 320 * 4; // allocate array and read pixels into it. GLubyte *buffer = (GLubyte *) malloc(myDataLength); glReadPixels(0, 0, 480, 320, GL_RGBA, GL_UNSIGNED_BYTE, buffer); // gl renders "upside down" so swap top to bottom into new array. // there gotta be a better way, but this works. GLubyte *buffer2 = (GLubyte *) malloc(myDataLength); for(int y = 0; y < 320; y++) { for(int x = 0; x < 480 * 4; x++) { buffer2[(319 - y) * 480 * 4 + x] = buffer[y * 4 * 480 + x]; } } // make data provider with data. CGDataProviderRef provider = CGDataProviderCreateWithData(NULL, buffer2, myDataLength, NULL); // prep the ingredients int bitsPerComponent = 8; int bitsPerPixel = 32; int bytesPerRow = 4 * 480; CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB(); CGBitmapInfo bitmapInfo = kCGBitmapByteOrderDefault; CGColorRenderingIntent renderingIntent = kCGRenderingIntentDefault; // make the cgimage CGImageRef imageRef = CGImageCreate(480, 320, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpaceRef, bitmapInfo, provider, NULL, NO, renderingIntent); UIImage *image = [UIImage imageWithCGImage:imageRef]; 

And another code:

 CGRect screenRect = [[UIScreen mainScreen] bounds]; UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 0.0); [glview.parent.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 

But all the code generates an image in the simulator not on the device (only for black or white image)

+4
source share
1 answer

This question has already been answered. Here is what I believe you are looking for

How to get UIImage from EAGLView?

0
source

All Articles