WebGLExtensions.js 522 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. class WebGLExtensions {
  2. constructor( backend ) {
  3. this.backend = backend;
  4. this.gl = this.backend.gl;
  5. this.availableExtensions = this.gl.getSupportedExtensions();
  6. this.extensions = {};
  7. }
  8. get( name ) {
  9. let extension = this.extensions[ name ];
  10. if ( extension === undefined ) {
  11. extension = this.gl.getExtension( name );
  12. this.extensions[ name ] = extension;
  13. }
  14. return extension;
  15. }
  16. has( name ) {
  17. return this.availableExtensions.includes( name );
  18. }
  19. }
  20. export default WebGLExtensions;