Source: tiny/plugins/compressed-texture/index.js

import glCore from '../../../libs/gl-core';
import { WebGLRenderer } from '../../core';
import * as loaders from '../../loaders';
import CompressedTextureManager from './CompressedTextureManager';
import extensionChooser from './extensionChooser';
import GLTextureMixin from './GLTextureMixin';
import BASISLoader from './loaders/BASISLoader';
import WorkedBASISLoader from './loaders/WorkedBASISLoader';

Object.assign(glCore.GLTexture.prototype, GLTextureMixin);
WebGLRenderer.registerPlugin('compressedTextureManager', CompressedTextureManager);

loaders.Loader.addTinyMiddleware(extensionChooser.fixer);
loaders.Loader.addTinyPreMiddleware(extensionChooser.parse);

/**
 * @namespace Tiny.plugins.compressedTexture
 * @version 1.3.0
 *
 * @example
 * // 首先对压缩纹理插件进行初始化
 * var app = new Tiny.Application({...});
 * Tiny.plugins.compressedTexture.init(app.renderer);
 *
 * // 然后在加载器中进行配置
 * loader.add('./resources/tileset.json', {
 *  metadata: { useCompressedTexture: true }
 * });
 */
export const compressedTexture = {
  /**
   * @param {Tiny.WebGLRenderer} renderer - 渲染对象
   * @memberof Tiny.plugins.compressedTexture
   */
  init: (renderer) => {
    extensionChooser.detect(renderer);
  },
  /**
   * @memberof Tiny.plugins.compressedTexture
   * @return {array} - 如 [.pvr]、[.astc]
   */
  supportedExtensions: () => {
    return extensionChooser.extensions;
  },

  BASISLoader,
  WorkedBASISLoader,
};
Documentation generated by JSDoc 3.4.3 on Fri Jul 09 2021 19:32:25 GMT+0800 (CST)