/// import { Shader } from "./shader"; import { Texture } from "./texture"; export declare enum RenderQueue { Opaque = 0, Blend = 1 } export declare class Material { name: string; shader: Shader; isDirty: boolean; textures: Map; doubleSided: boolean; queue: RenderQueue; constructor(shader: Shader, name?: any, doubleSided?: boolean); static clone(mat: Material): Material; static useMaterial(mat: Material, ctx: WebGL2RenderingContext): void; static setUniform(mat: Material, key: string, value: any): void; static updateUniform(mat: Material, ctx: WebGL2RenderingContext): void; static bindAllTextures(mat: Material, ctx: WebGL2RenderingContext, force?: boolean): void; static unbindAllTextures(mat: Material, ctx: WebGL2RenderingContext): void; static setTexture(mat: Material, name: string, tex: Texture): void; static SHADER_PATH: string; }