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.
flags = glFlags(gl)Creates a new flags instance attached to gl, which is a
WebGLRenderingContext.
flags.FLAG_NAMEReturns 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 = true
Is 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 = previousBlend
Parameters are only changed if their state has changed.
See stackgl/contributing for details.
MIT. See LICENSE.md for details.