image::Image *image = new image::Image(width, height, channels, true);
+ while (glGetError() != GL_NO_ERROR) {}
+
// TODO: reset imaging state too
context.resetPixelPackState();
context.restorePixelPackState();
- json.writeImage(image, formatToString(internalFormat));
+ GLenum error = glGetError();
+ if (error != GL_NO_ERROR) {
+ do {
+ std::cerr << "warning: " << enumToString(error) << " while reading framebuffer\n";
+ error = glGetError();
+ } while(error != GL_NO_ERROR);
+ json.writeNull();
+ } else {
+ json.writeImage(image, formatToString(internalFormat));
+ }
delete image;
}