11/02/2013 OpenGL Samples Pack, with image templates

The OpenGL Samples Pack is a major update introducing a new test framework with automation against image templates.

This is a great step forward because it allows to see when samples get broken (that happens quite a lot in practice), it will make the OpenGL drivers status work a lot quicker and it allows to easily catch driver regressions. On top of that, now samples can fail to succeed, to check that drivers generate errors when they are supposed to.

The package contains template images for AMD, Intel and NVIDIA drivers. These template images have been generate on my machine so they depend to my GPUs, my drivers versions and my control panels settings. Hence running the tests will produce slightly different results on other machine and more samples failing.

Users of the automated tests must regenerate image templates on their machines.

To generate new template images:
  • 1. Create a CMake project with AUTOMATED_TEST option ON (in ${BUILD} directory)
  • 2. Build all the samples (build ALL_BUILD target)
  • 3. Run the tests (build RUN_TESTS target)
  • 4. Open ${BUILD}/data/results/${IHV} directory
  • 5. Compare generated images with ${BUILD}/data/template/reference
  • 6. Replace each valid images in ${SOURCE}/data/template/${IHV}

The test framework is generating result images only for samples failing. Also some samples don't save result images. These are samples that must fail, generating OpenGL errors or GLSL compiler errors or samples that don't generate exactly the same output between runs (eg: gl-420-atomic-counter).

If you want to track new driver bugs you found, don't hesitate to submit pull requests with new samples exposing these bugs. Submitting an issue is also a good alternative. The samples are also pretty convininent to reproduce a bug and send a reproduction case to IHVs. This is a project for programmers in the OpenGL community so just make it useful for whatever you do with it.

The OpenGL Samples Pack has only been tested on Windows, I suggest using version on others platforms for the moment but version will support Linux and MacOS X.

The useful functions for modern OpenGL 4.4 programming >
< GLM released
Copyright Christophe Riccio 2002-2016 all rights reserved
Designed for Chrome 9, Firefox 4, Opera 11 and Safari 5