Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time


Utilities for working with WebGL textures with an emphasis on loading compressed formats.

NOTE: This code is pretty old by now, and I don't intend to do further development on it. You may want to try using webgl-texture-util.js from my texture-tester project instead.


The quickest way to get up and running is to include texture-util.js from the build folder, which will add a TextureUtil object to the global scope. Once included, construct a TextureLoader by passing the desired WebGL context to it.

var textureLoader = new TextureUtil.TextureLoader(gl);

The texture loader can be used to easily load textures of many different formats with the load function.

var texture = textureLoader.load("path/to/texture.png", function(texture) {
    // Optional callback

Supported formats are those natively supported by the browser (JPG, PNG, BMP, GIF), TGA, DDS, and CRN (Crunch). Format is typically determined by the file extension on the path provided, but can be overridden by passing in an explicit type.

var texture = textureLoader.load("textureGenerator.php", callback, "DDS");

If you use require.js in your project you can use the un-minified source files directly. Copy the texture-util folder into your project and include "texture-util/loader".

Further documentation is forthcoming, sorry for the brevity!


Thank you to Rich Geldreich for developing the Crunch texture compression library and Evan Parker for porting it to Javscript via Emscripten


Utilities for working with WebGL textures



No releases published
You can’t perform that action at this time.