WebGLExtensions.js 481 B

123456789101112131415161718192021222324252627282930313233343536
  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. }
  13. return extension;
  14. }
  15. has( name ) {
  16. return this.availableExtensions.includes( name );
  17. }
  18. }
  19. export default WebGLExtensions;