import MeshStyle from "./MeshStyle"; import VertexDataFormat from "../rendering/VertexDataFormat"; import RenderState from "../rendering/RenderState"; import MeshEffect from "../rendering/MeshEffect"; import Matrix from "openfl/geom/Matrix"; declare namespace starling.styles { /** * Provides a way to batch up to 5 (baseline profiles) or 16 different textures in one draw call, at the cost of more complex custom Fragment Shaders * To use this, set Mesh.defaultStyle to MultiTextureStyle (ideally before Starling is initialised!) * */ export class MultiTextureStyle extends MeshStyle { constructor(); /** * Maximum number of textures that can be batched. * Default value is 5 (which is the absolute max with baseline profile) * until MultiTextureStyle.init() has been called with Starling started * You can call it manually if you want/need, otherwise it will be called by the * first MultiTextureStyle instance created. * */ static get MAX_NUM_TEXTURES(): number; /** * Maximum number of textures to be batched, default 2. * */ static get maxTextures(): number; static set maxTextures(value: number) static init(): void; /** * @private */ override copyFrom(meshStyle: MeshStyle): void; /** * @private */ override createEffect(): MeshEffect; override updateEffect(effect: MeshEffect, state: RenderState): void; override canBatchWith(meshStyle: MeshStyle): boolean; override batchVertexData(targetStyle: MeshStyle, targetVertexID?: number, matrix?: Matrix, vertexID?: number, numVertices?: number): void; get numTextures(): number; } } export default starling.styles.MultiTextureStyle;