[About] [News] [Documentation] [Screenshots]


bugle-trace — record a log of OpenGL calls made


filterset trace
filterset log
    filename "trace.txt"


This filter-set provides a log of the OpenGL calls made. For each call, the function name, the parameters and the return value (if any) are recorded. Where appropriate, symbolic names are shown for GLenum parameters, and pointers are followed to show the correct number of elements.


There are no options to control this filter-set. All logging is done through bugle's logging system (see bugle-log(7)), and options such as filename and log format can be modified there.


Here is a sample log output

[INFO] trace.call: glLoadMatrixd(0xbfffe610 -> { { 0, -0.29661, 1.22295, 0 }, { 1.22295, 0, 0, 0 }, { 0, 1.18644, 0.305739, 0 }, { 0.037888, 1.61781, -1.52576, 1 } })
[INFO] trace.call: glActiveTextureARB(GL_TEXTURE0)
[INFO] trace.call: glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, 0xbfffe5d0 -> { 0.778524, 0.778524, 0.569631, 0 })


Some enumerants share values, so you may see a different symbolic name in the log than in your source code. It is believed that this should be limited to cases where extensions share a value for semanticly equivalent symbols; if you find a case where this is not true, please inform the author.

Because the filter-set examines arguments and follows pointers, it is possible to crash it by passing invalid values, particularly invalid pointers.

Backwards compatibility

In previous versions, the trace filter-set also reported OpenGL errors to the log. This is now handled by the showerror filter-set (see bugle-showerror(7)).


bugle is written and maintained by Bruce Merry.

Get BuGLe at SourceForge.net. Fast, secure and Free Open Source software downloads