X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=flavors%2Fgl%2Fsource%2Finspector.cpp;h=b6456ce7ec1afcfabf52e8b995bb2840cde1e38d;hb=8ac18c1745c64441dbbdc130b1c396dcde9b21a7;hp=122c2e45298f340ddfe935a2f5e29375dcde480c;hpb=d72ef6d75a11f6cc05ab8ec039520719e1044741;p=gldbg.git diff --git a/flavors/gl/source/inspector.cpp b/flavors/gl/source/inspector.cpp index 122c2e4..b6456ce 100644 --- a/flavors/gl/source/inspector.cpp +++ b/flavors/gl/source/inspector.cpp @@ -21,6 +21,8 @@ Inspector::Inspector(GlDbg &d): .set_help("Inspects general GL state", "state vertex\n" " Print current vertex attributes\n\n" + "state array\n" + " Show current vertex arrays\n\n" "state bind\n" " Show current bindings\n"); @@ -118,6 +120,28 @@ void Inspector::cmd_state(const string &args) const Vector3 &normal = glstate.get_normal(); printf(" Normal: [%05.3f, %05.3f, %05.3f]\n", normal.x, normal.y, normal.z); } + else if(args=="array") + { + printf("Current vertex arrays:\n"); + string descr = glstate.get_array(GL_VERTEX_ARRAY).describe(); + printf(" Vertex: %s\n", descr.c_str()); + descr = glstate.get_array(GL_NORMAL_ARRAY).describe(); + printf(" Normal: %s\n", descr.c_str()); + descr = glstate.get_array(GL_COLOR_ARRAY).describe(); + printf(" Color: %s\n", descr.c_str()); + unsigned count = glstate.get_max_texture_units(); + for(unsigned i=0; i=10 ? " " : " "), descr.c_str()); + } + } else if(args=="bind") { printf("Current bindings:\n"); @@ -126,10 +150,14 @@ void Inspector::cmd_state(const string &args) { 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); @@ -174,15 +202,33 @@ void Inspector::cmd_texture(const string &args) printf("Texture object %d\n", id); printf(" Target: %s\n", describe_enum(tex.target, "TextureTarget")); printf(" Images:\n"); - for(unsigned i=0; i