WebGLExtensions.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * @author mrdoob / http://mrdoob.com/
  3. */
  4. THREE.WebGLExtensions = function ( gl ) {
  5. var extensions = {};
  6. this.get = function ( name ) {
  7. if ( extensions[ name ] !== undefined ) {
  8. return extensions[ name ];
  9. }
  10. var extension;
  11. switch ( name ) {
  12. case 'EXT_texture_filter_anisotropic':
  13. extension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' );
  14. break;
  15. case 'WEBGL_compressed_texture_s3tc':
  16. extension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' );
  17. break;
  18. case 'WEBGL_compressed_texture_pvrtc':
  19. extension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' );
  20. break;
  21. default:
  22. extension = gl.getExtension( name );
  23. }
  24. if ( extension === null ) {
  25. console.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' );
  26. }
  27. extensions[ name ] = extension;
  28. return extension;
  29. };
  30. };
粤ICP备19079148号