Help end child hunger
Jun 082011

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.

Jun 022011


Direct3D ShaderX: Vertex and Pixel Shader Tips and Tricks (2002)
More information about this title at or

ShaderX2: Introductions and Tutorials with DirectX 9.0 (2003)
More information about this title at or

ShaderX2: Shader Programming Tips and Tricks with DirectX 9.0 (2003)
More information about this title at or

ShaderX3: Advanced Rendering with DirectX and OpenGL (2004)
More information about this title at or

ShaderX4: Advanced Rendering Techniques (Jan. 2006)
More information about this title at or

ShaderX5: Advanced Rendering Techniques (Dec. 2006)
More information about this title at or

ShaderX6: Advanced Rendering Techniques (2008)
More information about this title at or

ShaderX7 (2009)
More information about this title at or

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) Continue reading »

May 242011

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.

May 232011

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.

May 162011

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.