node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »



A port of the Khronos ARB WebGL conformance test suite to CommonJS and tape, so that it can be run without a browser or from within browserify easily.

Example usage

To use the test suite, you pass it a reference to tape and whatever function you are going to use to create WebGL contexts:

  tape: require('tape'),
  createContext: function(width, height, options) {
    //Replace this with a function that constructs your WebGL context 
    var canvas    = document.createElement('canvas')
    canvas.width  = width
    canvas.height = height
    var context   = canvas.getContext('webgl', options)
    return context

Then it will churn away at all the Khronos/ARB test cases and report the output to stdout as one would expect tap/tape to do.


npm install gl-conformance



Runs the WebGL conformance suite within the given environment. environment is an object with the following properties:

  • tape a refernce to a tape object
  • createContext(width,height,opts) a function which creates a WebGL context from the given parameters
  • filter(caseName) an optional filter which returns true if the case caseName should be run

Building the test suite

If you are installing from npm, you can ignore this section. Otherwise, for users who are building the project from github, you need to do the following:

1. Install dependencies

npm install

2. Run the build script

npm run-script build

3. Run the test (uses browser WebGL context)

npm test

4. Publish

npm publish


Conformance tests are (c) Khronos ARB

CommonJS port by Mikola Lysenko