decoder->gldBreak = gldBreak;
}
+Inspector::~Inspector()
+{
+ gldecoder_delete(decoder);
+}
+
void Inspector::decode(const char *data, unsigned len)
{
if(query_state)
{
printf(" Texture unit %d:\n", i);
const TexUnitState &unit = glstate.get_texture_unit(i);
- string descr = unit.describe_binding(GL_TEXTURE_2D);
- printf(" GL_TEXTURE_2D: %s\n", descr.c_str());
+ string descr = unit.describe_binding(GL_TEXTURE_1D);
+ printf(" GL_TEXTURE_1D: %s\n", descr.c_str());
+ descr = unit.describe_binding(GL_TEXTURE_2D);
+ printf(" GL_TEXTURE_2D: %s\n", descr.c_str());
descr = unit.describe_binding(GL_TEXTURE_3D);
- printf(" GL_TEXTURE_3D: %s\n", descr.c_str());
+ printf(" GL_TEXTURE_3D: %s\n", descr.c_str());
+ descr = unit.describe_binding(GL_TEXTURE_CUBE_MAP);
+ printf(" GL_TEXTURE_CUBE_MAP: %s\n", descr.c_str());
}
printf(" Buffers:\n");
const BufferState *buf = glstate.get_current_buffer(GL_ARRAY_BUFFER);
printf("Texture object %d\n", id);
printf(" Target: %s\n", describe_enum(tex.target, "TextureTarget"));
printf(" Images:\n");
- for(unsigned i=0; i<tex.images.size(); ++i)
+ if(tex.target==GL_TEXTURE_CUBE_MAP)
+ {
+ static const char *face_labels[6] = { "+X", "-X", "+Y", "-Y", "+Z", "-Z" };
+ for(unsigned i=0; i<6; ++i)
+ {
+ printf(" Face %s:\n", face_labels[i]);
+ for(unsigned j=i; j<tex.images.size(); j+=6)
+ {
+ string descr = tex.images[j].describe();
+ printf(" Level %2d: %s\n", j/6, descr.c_str());
+ }
+ }
+ }
+ else
{
- string descr = tex.images[i].describe();
- printf(" Level %2d: %s\n", i, descr.c_str());
+ for(unsigned i=0; i<tex.images.size(); ++i)
+ {
+ string descr = tex.images[i].describe();
+ printf(" Level %2d: %s\n", i, descr.c_str());
+ }
}
printf(" Min. filter: %s\n", describe_enum(tex.min_filter, "TextureMinFilter"));
printf(" Mag. filter: %s\n", describe_enum(tex.mag_filter, "TextureMagFilter"));
- printf(" Wrap modes: S=%s / T=%s / R=%s\n", describe_enum(tex.wrap_s, "TextureWrapMode"),
- describe_enum(tex.wrap_t, "TextureWrapMode"), describe_enum(tex.wrap_r, "TextureWrapMode"));
+ printf(" Wrap modes:\n");
+ printf(" S: %s\n", describe_enum(tex.wrap_s, "TextureWrapMode"));
+ printf(" T: %s\n", describe_enum(tex.wrap_t, "TextureWrapMode"));
+ printf(" R: %s\n", describe_enum(tex.wrap_r, "TextureWrapMode"));
printf(" Compare mode: %s\n", describe_enum(tex.compare_mode, ""));
printf(" Compare func: %s\n", describe_enum(tex.compare_func, "DepthFunction"));
printf(" Generate mipmap: %s\n", (tex.generate_mipmap ? "true" : "false"));