37 lines
481 B
JavaScript
37 lines
481 B
JavaScript
class WebGLExtensions {
|
|
|
|
constructor( backend ) {
|
|
|
|
this.backend = backend;
|
|
|
|
this.gl = this.backend.gl;
|
|
this.availableExtensions = this.gl.getSupportedExtensions();
|
|
|
|
this.extensions = {};
|
|
|
|
}
|
|
|
|
get( name ) {
|
|
|
|
let extension = this.extensions[ name ];
|
|
|
|
if ( extension === undefined ) {
|
|
|
|
extension = this.gl.getExtension( name );
|
|
|
|
}
|
|
|
|
return extension;
|
|
|
|
}
|
|
|
|
has( name ) {
|
|
|
|
return this.availableExtensions.includes( name );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default WebGLExtensions;
|