GLubyte *pixels = new GLubyte[depth*width*height*4];
- if (target == GL_TEXTURE_CUBE_MAP) {
- // TODO: dump other faces too
- target = GL_TEXTURE_CUBE_MAP_POSITIVE_X;
- }
-
glGetTexImage(target, level, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
json.beginMember("__data__");
static inline void
writeDrawBufferImage(JSONWriter &json, GLenum format)
{
- GLint width = glretrace::window_width;
- GLint height = glretrace::window_height;
-
GLint channels = __gl_format_channels(format);
- if (!width || !height) {
+ if (!glretrace::drawable) {
json.writeNull();
} else {
+ GLint width = glretrace::drawable->width;
+ GLint height = glretrace::drawable->height;
+
json.beginObject();
// Tell the GUI this is no ordinary object, but an image
print ' break;'
print ' }'
print
- print ' writeTextureImage(json, target, level);'
+ print ' if (target == GL_TEXTURE_CUBE_MAP) {'
+ print ' for (int face = 0; face < 6; ++face) {'
+ print ' writeTextureImage(json, GL_TEXTURE_CUBE_MAP_POSITIVE_X + face, level);'
+ print ' }'
+ print ' } else {'
+ print ' writeTextureImage(json, target, level);'
+ print ' }'
print
print ' ++level;'
print ' } while(true);'