1.1.0 • Published 9 years ago

gl-flags v1.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

gl-flags

stable

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

NPM

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 = 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.

Contributing

See stackgl/contributing for details.

License

MIT. See LICENSE.md for details.