The new version of glslDevil is out, almost one year after the previous release. glslDevil is a free tool for debugging GLSL shaders (vertex, fragment and geometry shaders).
One nice feature is there’s no need to have the application source code, the executable is enough. glslDevil intercepts OpenGL calls and you can step through them. Once you encounter a GLSL shader, you can step inside and watch the values of variables. Currently breakpoints in shaders are not supported but they’re planned for a next version.
To debug shaders, glslDevil uses the GL_NV_transform_feedback extension that allows to retrieve vertices attributes like position, normal or texture coordinates after the vertex shader execution. GL_NV_transform_feedback is only supported on GeForce 8 and higher then debugging shaders on a Radeon is not possible. GL_NV_transform_feedback is the same functionality than Direct3D 10 stream output (for more details see in the middle of this page). So we can hope that one day, AMD in a good mood with implement the GL_NV_transform_feedback in Catalyst like it did for other GL_NV extensions (GL_NV_explicit_multisample for exemple).
glslDevil can also be used to profile the OpenGL code and this time this functionaliyt is available on both GeForce and Radeon cards:
Here is the Open Program window of glslDevil:
GeeXLab has a command line parameter for loading a scene: /file=”my_scene.xml”
Click on the hi-res version of the header image above to see the shader in glslDevil.
glslDevil is available for Windows (32-bit) and Linux (32 and 64-bit) and you can download it HERE.