Neighbourhood Party Manager

    @vaalentin/gl-texture

    2.0.1 • Public • Published

    GL Texture

    WebGL texture wrapper.

    Installation

    $ npm install --save @vaalentin/gl-texture

    Usage

    import Texture from '@vaalentin/gl-texture';
    
    const texture = new Texture(gl, gl.TEXTURE_2D);
    
    const img = document.createElement('img');
    
    img.onload = () => {
    	texture.bind(1);
    	texture.setData(img);
    }
    
    img.src = '';
    
    program.bind();
    program.setUniform('uTexture', texture.bind(1));

    API

    texture = new Texture(gl, type)

    texture = new Texture(gl, type, width, height)

    texture = new Texture(gl, type, data)

    Create a new texture, if no data is provided, the texture is empty.

    • gl is the WebGL context.
    • type is the texture type. Default is gl.TEXTURE_2D.
    • data can be an image, video or canvas.

    texture.setData(data)

    Set the texture data. The texture must be bound first.

    texture.bind(1);
    texture.setData(image);

    texture.bind(unit)

    Bind the texture to the given unit, and returns it. Default is 0. This allows to set a program uniform at the same time.

    program.setUniform('uTextureA', textureA.bind(0));
    program.setUniform('uTextureB', textureA.bind(1));

    texture.dispose()

    Delete instance. Calls gl.deleteTexture().

    License

    MIT, see LICENSE.md for more details.

    Credits

    Thanks to the amazing stackgl for the inspiration.

    Keywords

    Install

    npm i @vaalentin/gl-texture

    DownloadsWeekly Downloads

    7

    Version

    2.0.1

    License

    MIT

    Last publish

    Collaborators

    • vaalentin