gl-flags v1.1.0
gl-flags
Easily change and access your WebGL flags set by gl.enable/gl.disable with
minimised overhead. This package transparently adds a caching layer to these
functions, providing a more convenient API, smoothly interoperating with
other libraries unaware of gl-flags, and only requiring to read from the GPU
once for each parameter on creation.
Usage
flags = glFlags(gl)
Creates a new flags instance attached to gl, which is a
WebGLRenderingContext.
flags.FLAG_NAME
Returns a boolean value reflecting whether gl.FLAG_NAME is enabled or not.
For example, the following:
var flags = require('gl-flags')(gl)
flags.BLEND = true
flags.CULL_FACE = trueIs equivalent to this:
gl.enable(gl.BLEND)
gl.disable(gl.CULL_FACE)You can access each property without needing to hit the GPU either, so you can easily toggle flags temporarily without effecting global state like so:
var previousBlend = flags.BLEND
flags.BLEND = true
// drawing API
flags.BLEND = previousBlendParameters are only changed if their state has changed.
Contributing
See stackgl/contributing for details.
License
MIT. See LICENSE.md for details.
