GLIntercept version 0.3 is now released.
You can get it here: http://home.swiftdsl.com.au/~radlegend/GLIntercept/
(The Nutty mirror at http://glintercept.nutty.org will probably be updated soon)
New features include:
- GLSL shader logging and checking. This includes the ability to append any logs that were generated on the shader compile/link. Also the ability to validate and save the uniforms currently in use at each render call.
Example log: http://home.swiftdsl.com.au/~radlegend/GLIntercept/Demo03/gliInterceptLog.xml
Example shader output at render call: http://home.swiftdsl.com.au/~radlegend/GLIntercept/Demo03/Shaders/ShaderGLSL_PROG_0001_0002.txt
Some issues with uniform saving:
-ATI cards – retrieving values for samplers generates a GL error and no value is returned (hence a bad value is logged) (I hope ATI fix this)
-
Nvidia users need 61.xx drivers or the driver will crash with this feature (crashes on the 56.xx)
-
Display list logging and checking.
Example: http://home.swiftdsl.com.au/~radlegend/GLIntercept/Demo02/gliInterceptLog.xml -
Stencil frame buffer saving at each render.(Can even color code the stencil values)
-
Function Timer Log -ability to log how long the driver spends inside each OpenGL function. This can be mis-used so is only intended for advanced OpenGL users.
-
Extended error logger/reporter - you can now resolve error codes and report full parameters strings to the debugger window on a GL error.
-
Thread Checking – While GLIntercept only supports one active render context at a time (may be fixed in future versions -you will currently get a warning), you can perform checking to see if any OpenGL calls are being made on a thread other than the main render thread. This is especially useful for applications that background load resources to ensure they do not accidently make OpenGL calls on the loading thread.
Suggested features and bug reports welcome.
(BTW: There are no prizes for guessing what demos the above log examples came from)