In March, 2010, the Khronos group approved an extension to add timers to OpenGL. The version was 3.2. As of OpenGL 3.3 this functionality has become part of the specification.
As mention in the Very Simple Profile Library page, profiling is an essential technique to truly understand how to improve the performance of an application. Being able to get time measurements is important both in the development stage as well as during run-time after the application has been released. OpenGL Timer Queries allows us to profile the GPU. i.e. to determine the amount of time it takes to execute a command, or sequence of commands in the GPU.
A tutorial is available in here describing the OpenGL timer functions, showing how to use them, and describing a double buffer approach to prevent the application from being stalled while waiting for query results.
Series edited by Wolfgang Engel
The first three volumes are available in PDF from here.
Combined Table of Contents
Items were grouped by section, and ordered alphabetically (volumes are displayed in parenthesis)
Optimization is a must in computer graphics applications, mainly in those devoted to real-time interaction, such as visualization and games. One possibility is to optimise everything that can be optimised, but this is in most cases a waste of time. There are segments in our applications that when optimised bring an overall gain in efficiency to our application, but this is not true for all segments.
VSPL, a component of the Very Simple * Libraries, brings a profiler which you can display on top of your application using OpenGL. There are no dependencies whatsoever, and the only requirement to display the profile report on top of the application is a function to display a string. In OpenGL you can use VSFL, another component of the Very Simple * Libraries.
VSFL has suffered a minor update to be able to render fixed size fonts such as Courier New. Previously all chars would have the optimal length, but this makes formatted printing difficult in some circumstances. A new parameter has been added to the
loadFont method to specify if the font is to be rendered with fixed size chars, or not (the default setting). Also a new font has been added to the package, Courier New, which can take advantage of this feature.
G-Truc Creation has been building a samples pack for OpenGL that covers versions from 2.1 up to 4.1 This latest release has reached the 100 samples mark. An invaluable source of code for the newest versions.
Very Simple Font Library – Text rendering is very useful to display information on top of a 3D world. VSFL aims at providing users with the ability to render bitmapped text in an OpenGL application using the core profile.
With immediate mode gone in core OpenGL versions, so are the vast majority of font libs that worked with OpenGL. Immediate mode was terribly slow, and code wise very extensive. Vertex Buffers are clearly the way to go. This lib uses VAOs and vertex buffers to render text.
One of the features that was not selected to be part of the core functionality was matrix handling. Previously we had OpenGL and GLU functions that provided the means for easily setting the camera, defining projections, and performing geometric transformations on graphical objects.
The Very Simple Matrix Library (VSML) aims at providing users with a functionality similar to the one available up to OpenGL 3.2. I’ve been using OpenGL for a long time and those matrix handling functions served most of my purposes when programming graphics, hence I grew fond of them. I missed them in the new OpenGL versions so I decided to write a simple lib to perform the same tasks in a very similar way.