There are several tools that can aid in the debugging of your OpenGL program.
Download from http://glintercept.nutty.org
GLIntercept is a free open sourced program intended for Windows platforms. After installing, a folder (
C:\Program Files\GLIntercept*_* where the asterisks are the version numbers) will have been created. This folder holds several samnple configuration files of interest which can be used to configure GLIntercept:
gliConfig_ExtOverride.ini, etc. In addition, this folder holds a version of the
OpenGL32.dll file which acts an intermediary between your system's OpenGL implementation and GLIntercept. To utilize this functionality, copy the DLL and a customized copy of the
gliConfig.ini file to your application's target folder (usually where the .EXE resides) and run your application. All invoked OpenGL function calls will route through the DLL, allowing GLIntercept to detect:
- Function calls before context creation
- Resource leaks
Once you close your app, GLI dumps the above info into gliLog.txt.
You may configure GLI to output a XML log file (upon pressing [Ctrl]+[Shift]+[f]) showing all of the OpenGL functions called, problems and used shaders and textures. GLI will make a folder where your EXE is and places the XML files and all related files like screen captures and textures.
In gliConfig.ini, check out section "LogPerFrame".
Cons: The program is intended for applications that have a single GL context. Windows Only.
gDebugger is a commercial application that hooks to your application and displays info in text and graphical form in its own window. It can also show GPU utilization. You can use it to find out where the bottleneck is in your app. There are Windows and Linux versions.
It also supports GL_GREMEDY_string_marker http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt
This is a feature rich app so check out their web page for details.
Description: glslDevil is similar in concept to gDebugger but it is Linux only, it works transparently just like gDebugger, it is free, 32 bit and 64 bit.