[About] [News] [Documentation] [Screenshots]
Name
bugle-trace — record a log of OpenGL calls made
Synopsis
filterset trace
filterset log
{
filename "trace.txt
"
}
Description
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.
Options
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.
Output
Here is a sample log output
[INFO] trace.call: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
[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 })
Bugs
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)).