JSPM

gl-reset

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 18
  • Score
    100M100P100Q41947F
  • License MIT

Completely reset the state of a WebGL context, deleting any allocated resources

Package Exports

  • gl-reset

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gl-reset) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

gl-reset

Completely reset the state of a WebGL context, deleting any allocated resources.

Resetting is slow and instrumentation introduces a very slight overhead on creating new resources. However, this is useful:

  • If you want to safely recycle a WebGL context without state leaking between renders.
  • To capture and remove any generated resources during a render.

There's a limit on the number of contexts you can have running simultaneously on a page, and (at least on Chrome) when hitting the threshold you simply lose the least recently created one. To work around this limit, you can instead reset and reuse a single WebGL context between multiple renders.

Usage

NPM

reset = require('gl-reset')(gl)

Returns a function that, when called, will remove any existing resources and reset the current WebGL state.

Note: this function must be created before creating any resources, as it instruments several WebGL methods to do its thing.

var reset = require('gl-reset')(gl)

function render() {
  // Triggers a context reset
  reset()
}

require('gl-reset/state')(gl)

Resets the state, without instrumenting the context and without removing any allocated resources.

License

MIT. See LICENSE.md for details.