npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

gl-flags

1.1.0

@hughsk

npmHomeRepoSnykSocket
Downloads:3
$ npm install gl-flags
DailyWeeklyMonthlyYearly

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.