Class MaterialManager<T>

Material Manager Utility class to manage materials. Maintains a library of materials and material templates that can be used to manage or create new materials. Used in AssetManager to manage materials.

Type Parameters

  • T = ""

Hierarchy

Constructors

Properties

_materialExtensions: MaterialExtension[] = []
_textureUpdate: (this: IMaterial, e: ITextureEvent<"update">) => void = ...
templates: IMaterialTemplate[] = ...

Methods

  • Creates a new material if a compatible template is found or apply minimal upgrades and returns the original material. Also checks from the registered materials, if one with the same uuid is found, it is returned instead with the new parameters. Also caches the response. Returns the same material if its already upgraded.

    Parameters

    • material: Material & { assetType?: "material"; iMaterial?: IMaterial }

      the material to upgrade/check

    • __namedParameters: {
          createFromTemplate?: boolean;
          materialTemplate?: string;
          useSourceMaterial?: boolean;
      } = {}

    Returns undefined | IMaterial

  • Parameters

    • material: IMaterial
    • Optionalfilename: string
    • minify: boolean = true
    • download: boolean = false

    Returns File