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

About BuGLe

BuGLe is a tool for OpenGL debugging, implemented as a wrapper library that sits between your program and OpenGL. While still in development, it can already do the following:

In addition, there is a debugger (gldb) that lets you set breakpoints and examine backtraces. It also lets you examine OpenGL state, enable and disable filters, and drop into gdb to see what is going wrong. A GUI version of the debugger (gldb-gui) is currently in development, and a preliminary version is available with the latest releases. It features a texture viewer and a shader viewer.

You can download the source from the project page, or view the documentation online. BuGLe is also available in Gentoo portage and the BSD ports collection.


Requirements


Example

Here is an extract from a log, generated from an application I am writing. Note that GLenums are displayed by name, and pointers are followed to the correct number of elements.

stats.fps: 22.671
stats.fragments: 52335
stats.triangles: 99732
trace.call: glXSwapBuffers(0x8117720, 0x01c00021)
trace.call: glXMakeCurrent(0x8117720, 0x01c00021, 0x8444800) = 1
trace.call: glBindBufferARB(GL_ARRAY_BUFFER, 1)
trace.call: glMapBufferARB(GL_ARRAY_BUFFER, GL_READ_WRITE) = 0x45c3c000
trace.call: glUnmapBufferARB(GL_ARRAY_BUFFER) = GL_TRUE
trace.call: glBindBufferARB(GL_ARRAY_BUFFER, 0)
trace.call: glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
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 } })
trace.call: glActiveTextureARB(GL_TEXTURE0)
trace.call: glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, 0xbfffe5d0 -> { 0.778524, 0.778524, 0.569631, 0 })
trace.call: glGetIntegerv(GL_MAX_TEXTURE_UNITS, 0xbfffe688 -> 4)
trace.call: glBindBufferARB(GL_ARRAY_BUFFER, 1)
trace.call: glVertexPointer(3, GL_FLOAT, 32, (nil))

SourceForge.net Logo