This is a bugfix release. BuGLe is no longer actively developed.
This is the first release to use the Khronos XML API registry, with the result
that reflection information is more accurate. It also contains a number of bug
This release adds two new filtersets: logdebug captures the debug messages from
ARB_debug_output to the BuGLe log, and contextattribs allows context flags to
be overridden (particularly useful for forcing a debug context). There are also
some bug fixes.
This is a bugfix release that only fixes some build problems. If you have
successfully installed the previous version of BuGLe, you do not need to
upgrade to this version.
This release greatly improves support for OpenGL 3.0 and beyond. While there
are still gaps, most OpenGL 3.0 applications should work and the state viewer
should be complete. There is also support for a few post-3.0 features (see
the ChangeLog for details).
This is a maintainence release: there are no major new features, but some
things have been improved and there are lots of bug fixes. Amongst other
things, it should work better on Ubuntu 11.10 than previous releases.
It also hasn't been as thoroughly tested as usual (which is never very thorough
to start with), so let me know if anything is broken.
This release contains miscellaneous bugfixes (see the ChangeLog for details).
In particular, it should now build with Ubuntu 10.10.
The build system has been replaced SCons. While there are few new features,
this is a major restructuring of the internals. Many bugs have been fixed
and portability has been improved (in particular, BuGLe can now be built with
Visual C++ Express 2008), although it is likely that new bugs have been
This release just fixes some compilation problems and errors related to
undefined symbols (particular XStringToKeysym).
This release just fixes a compilation problem with newer versions of glext.h.
If you have successfully installed the previous version, there is no need to
This release just fixes a compilation problem with GCC 4.4. If you have
successfully installed the previous version, there is no need to upgrade.
This release just fixes compilation problems with the newest glext.h. If you
have successfully installed the previous version, there is no need to upgrade.
This release fixes several bugs, and has improved tracing of EGL and GLX.
This release is packed with new debugger features:
- Buffer viewer
- Info log view
- Stop on shader compile/link failure
It also generally improves portability and cross-compilation support, adds
a target for OpenGL ES 1.1 on Windows, and has a lot of bugfixes as well.
This release features a whole host of new features and bugfixes. Most notable
are experimental support for TCP/IP-based remote debugging and OpenGL ES 1.1.
The texture view was broken in the previous release - this release fixes it.
There are no other changes.
This release fixes a number of small bugs. Refer to the ChangeLog for details.
This release fixes some problems with OpenGL ES support, and with building
the debugger on Windows. Desktop UNIX users do not need to upgrade.
This is a major new release that adds experimental support for Windows and for
OpenGL ES 2.0. These ports are still in the early stages of development, and
many features don't yet work. Nevertheless, you're encouraged to try them out.
Note that you must delete the old contents of $PREFIX/lib/bugle/*.so when
upgrading, as otherwise stale modules will be loaded into bugle.
Apart from a few bug-fixes, this release adds checks for incomplete textures to
the 'checks' filter-set. It now also requires GLEW for the image viewers in
gldb-gui - if you find those tabs have vanished then you should install
it from glew.sf.net and reconfigure bugle.
This release just fixes a few minor bugs.
This is mostly a bugfix release, fixing compilation under old versions of
GTK+ and with some NVIDIA header files. There is also some new reflection
functionality for plugin authors.
There are a number of minor bug-fixes (see the ChangeLog), but the major
change in this release is that the filter-set API has been stabilised and made
available to users through installed header files. If you are interested in
writing your own filter-sets, refer to doc/html/extending.html.
This release has a lot of changes, but it's mostly under the hood to
start bringing bugle to a point where 3rd parties can easily write and
ship filter-sets. The most obvious change for users is that remote
(network) debugging is now easier to do. See gldb-gui(1) for details
(seriously, read it, as it's still very experimental and the best way
isn't what the GUI might suggest).
NB: if you are upgrading, you MUST delete
/usr/local/lib/bugle/stats.so, otherwise you will get an error about
cyclic dependencies on startup.
This release just fixes the generation and installation of the
This release fixes a number of compilation failures, crashes, and
performance bugs. The manual pages have all been converted to DocBook,
giving much higher quality HTML versions. Some improvements were made
to the documentation at the same time.
Some internals were redesigned, and so some new bugs may have been
introduced. If you find any new bugs, please email me
Interception of functions that are not filtered is now significantly
faster (showfps will have far less overhead, for example, since it only
acts on glXSwapBuffers).
This release also changes the way startup is handled to better
facilitate libraries like QT and SDL that dynamically load libGL.so.
You no longer need to set an environment variable for SDL applications.
Please let me know of any regressions, particularly on non-GNU
It is now possible to view high-level geometry shaders in the shader
viewer. There is also a minor bug-fix for the framebuffer viewer when
The logging system has been heavily reworked. If you are upgrading,
please read the manpage for bugle-log(7) and bugle-trace(7) and update
your ~/.bugle/filters as appropriate.
There is also a new filter-set for hiding extensions (extoverride) and
I've added support for several of the new extensions exposed by the G80
(aka GeForce 8800); see the ChangeLog for details. These are not fully
tested, especially where NVIDIA haven't released support in the
drivers, so let me know if anything breaks.
The state viewer will also look a little different: some missing
extension suffices have been added (e.g., GL_TEXTURE_RECTANGLE_ARB was
missing the _ARB) and the ordering has been changed to better mirror
the order in the OpenGL 2.1 state tables.
This release fixed a number of bugs and makes some internal redesigns.
The most visible new feature is that strings in the gldb-gui state
viewer are now displayed unescaped, making it easier to read multi-line
strings such as shader info logs.
There are several bug-fixes related to using gldb-gui with pbuffers and
framebuffer objects. In addition, it is possible to save the current
state to an XML file, and the camera filter-set has the option to
drawing the original view frustum.
There is now an option in the texture and framebuffer viewers to remap the
range. This is useful for viewing textures with data outside the [0, 1]
range as well as images with low dynamic range. There are also many bugfixes;
in particular, BuGLe should now work much better on ATI cards.
This is a quick-fix release for ccache. If you have successfully
installed 0.0.20061109 there is no need to upgrade.
A number of bugs are fixed in this release. The most important is that
screenshots and video capture are working again, having been broken in
the previous release.
The statistics system has been completely rewritten and is now a lot
more powerful, supporting customisable statistics, graphs, batch
counts, NVPerfSDK and lower overhead.
You will need to update your ~/.bugle/filters file to use any
statistics (see the examples in doc/examples/filters), and you will
also need to copy doc/examples/statistics to ~/.bugle/statistics.
While there is no one feature that makes this release special, it has a
huge number of minor bug-fixes and improvements, mostly to the GUI
debugger. See the ChangeLog for details.
The GUI debugger has almost achieved feature-parity with the text debugger
(run-time enabling and disabling of filter-sets being one missing feature).
I haven't really been maintaining the text debugger, and I'm thinking of
discontinuing it. If there are reasons why you still prefer the text
debugger, let me know soon so that I can reconsider.
This release fixes a serious bug in the framebuffer viewer that would
cause it to crash on applications doing render-to-texture. If your
application does not use render-to-texture via
GL_EXT_framebuffer_object you do not need to upgrade.
gldb-gui now has a framebuffer viewer! You can view the front and back
buffers, plus depth, stencil and auxiliary buffers as well as
framebuffer objects. There is also better support for 3D textures in
the texture viewer, and assorted bug-fixes.
This release makes some improvements to the texture viewer - in
particular, shadow textures will be displayed in grey-scale rather than
crashing, and luminance textures will appear in grey-scale rather than
red-scale. Refer to the ChangeLog for miscellaneous other bug-fixes and
This release fixes several important bugs (see the ChangeLog for
details). It also introduces some flexibility into the logging format
and allows gldb and gldb-gui to step to the next GL call. The
filter-sets are now documented in individual manual pages.
This release fixes a nasty bug (introduced in 0.0.20060416) that causes
the trace filterset to crash on certain calls, and may cause other
spurious behaviour. All users of 0.0.20060416 should upgrade.
This release adds a camera filterset, which allows the user to take
over the camera. It won't work with advanced rendering techniques (such
as any kind of post-processing), but is a handy way to test LOD and
This is a minor update that fixes some build problems on Debian
testing. Users who successfully built and installed 0.0.20060224 do not
need to upgrade.
This release adds code to intercept keypresses from the application.
Screenshots are now taken by keypress rather than on every frame, and
it is possible to manually start and stop filter-sets such as video
recording (particularly useful if the framebuffer is resized before
starting, as a resize normally terminates encoding) and wireframe. See
the manual page for details.
gl2ps, a library to create Postscript and similar files from the
feedback buffer, has been incorporated, allowing one to create vector
graphic screenshots. This is handled by the 'eps' filterset, although it
actually supports PS, PDF and even SVG). Of course, this has the usual
limitations of the feedback buffer (no per-pixel effects), so don't
expect to capture Doom 3, but it works beautifully for glxgears.
There are also some bugfixes, and in particular GTK+ 2.8 and pre-release
versions of ffmpeg should now be better supported.
WARNING: the options to the screenshot filter-set have changed, and the
epswire filter-set has been replaced by the eps filter-set. You will
need to update your ~/.bugle/filters file. Refer to the example in
doc/examples/filters for a sample. I've removed the option to set a
start frame for video capture (since you can now press a key to start).
If you need the old behaviour let me know and I can restore it.
This release greatly improves the texture viewer in gldb-gui, as well as
fixing a number of bugs. It also fixes a dubious shortcut (read: bug)
that caused all kinds of havoc with ATI drivers. If previous releases
have caused weird problems when using an ATI card (whether with gldb,
gldb-gui or a filter), give this release a try.
I have had intermittent problems with gldb-gui crashing due to "an X
Window System error". If you can reproduce this, let me know so that I
can try to fix it.
There is now a graphical debugger, gldb-gui. The GUI is still in very
early development, and anything complicated will break it (in
particular, 1D, 3D and cube-map textures are not supported in the
There is also support for several new extensions in gldb's state viewer,
including GL_ARB_vertex_program, GL_ARB_fragment_program,
GL_ARB_texture_rectangle, GL_EXT_texture_filter_anisotropic, and
This version is a major update. The code generator, state manager and
object tracker have all been rewritten and work a lot better, and
substantial changes have been made to the call dispatcher to reduce
overhead. Almost all of OpenGL 2.0 is now supported. It should also be
slightly more portable, due to the use of ltdl to load modules.
As a result, there are probably lots of new bugs. Please send them to
me at firstname.lastname@example.org.
This version also adds the 'checks' filter-set. See the man page for
The major news is the news stats and showstats filter-sets, which can
display frame rate, triangle count and fragment count - as an overlay
on the rendered frame! There has also been some work to reduce overhead,
so that the fps counter will be reasonably accurate.
Some bugfixes and minor improvements, including a filter-set to tell
you what extensions are being used. See the ChangeLog.
Minor update, the most important fix being that extension functions
will now be properly intercepted. If the previous version worked for
you, and you are not using extensions, then you shouldn't need to
This is a fairly major update to the internals, although not much of it
is visible to the user. The biggest changes are the ability to pass
options to the program that gldb will run, and a 'screenshot' command
within gldb to take screenshots on request.
WARNING: see the README for upgrade instructions. Simply installing
over an older version will break things. You will also need to add the
'trace' filter-set to your existing configuration files if you want the
tracing functionality originally provided by the 'log' filter-set.
This release adds a few minor improvements to the video capture facility.
See the ChangeLog.
The big changes are improvements to the debugging facility, gldb. Pressing
Ctrl-C will now stop the program (ala gdb), and it is possible to query
OpenGL state. Refer to the gldb(1) manual page for details.
This release also offers much better thread safety, and it should now
be mostly possible to use bugle even with programs that render
simultaneously from multiple threads. However, the debugger will not
work on a multi-threaded program, and there are still a few known race
Finally, there is also a preliminary video capture mode. It is still
somewhat slow and experimental.
This release adds the gldb debugging tool. This replaces the rather
primitive debugging mode of earlier releases, where you specified
breakpoints in the config file. See the man page for instructions on
You will probably need to modify your configuration file, to take
account of the following changes (or you can just copy the one in
- The invoke filter-set is automatically loaded. You may still specify
it, but omitting it makes no difference.
- The debugger filter-set should no longer be specified. It is
automatically loaded by the debugger, and attempting to use it
without the debugger will lead to errors.
- The "error" filter-set has been renamed to "showerror".
An "error" filter-set still exists, but only detects errors for the
benefit of other filter-sets. For example, the "log" filter-set will
log errors if the "error" filter-set is used.
Minor bugfixes only.
This is the first public release of BuGLe. Please read the README file
first, as the software it still pretty rough.