import type mapboxgl from "mapbox-gl"; /** * A class that manages the uniforms for a WebGL program. * Members of extended class starting with "u_" are filled with WebGLUniformLocation by fill() method. */ declare class UniformsManager { fill(gl: WebGLRenderingContext, program: WebGLProgram): void; } /** * A class that manages the uniforms for the custom tileset renderer. * Members of extended class starting with "u_" are filled with WebGLUniformLocation by fill() method * inhrerited from UniformsManager. */ declare class CustomWxTilesLayerUniforms extends UniformsManager { u_matrix: WebGLUniformLocation; u_opacity: WebGLUniformLocation; u_tileTexture: WebGLUniformLocation; u_noiseTexture: WebGLUniformLocation; u_animationTimePosition: WebGLUniformLocation; u_vectorFieldFactor: WebGLUniformLocation; u_animationIntensity: WebGLUniformLocation; u_wavesCount: WebGLUniformLocation; u_Lmax: WebGLUniformLocation; u_U: WebGLUniformLocation; u_Umul: WebGLUniformLocation; u_Umin: WebGLUniformLocation; u_V: WebGLUniformLocation; u_Vmul: WebGLUniformLocation; u_Vmin: WebGLUniformLocation; } export declare class CustomWxTilesLayer implements mapboxgl.CustomLayerInterface { id: string; sourceID: string; opacity: number; type: "custom"; renderingMode: "2d" | "3d"; /**@ignore */ protected map: any; /**@ignore */ protected program: WebGLProgram | null; /**@ignore */ protected attributes: { a_pos: number; a_texture_pos: number; }; /**@ignore */ protected uniforms: CustomWxTilesLayerUniforms; /**@ignore */ protected noiseTexture: WebGLTexture | null; /**@ignore */ protected noiseTexturePow: number; /** * CustomWxTilesLayer constructor. * @constructor * @param {string} id - The ID of the custom layer. * @param {string} sourceID - The ID of the source for the custom layer. * @param {number} [opacity=1] - The opacity of the custom layer. */ constructor(id: string, sourceID: string, opacity?: number); /** * This method is called when the custom layer is removed from the map. * It removes the reference to the source from the map style, deletes WebGL resources, and deletes VAOs for all segments for this layer. * @param {any} map - The map object. * @param {WebGLRenderingContext} gl - The WebGL rendering context. * @returns {void} */ onRemove(map: any, gl: WebGLRenderingContext): void; /** * Checks if the noise texture needs to be created or updated based on the given power value. * If the power value is the same as the current noise texture power value and the noise texture already exists, this method does nothing. * Otherwise, it deletes the current noise texture, creates a new one with the given power value, and updates the noise texture power value. * @param {WebGLRenderingContext} gl - The WebGL rendering context. * @param {number} pow - The power value to check against the current noise texture power value. * @returns {void} */ checkCreateNoiseTexture(gl: WebGLRenderingContext, pow: number): void; /** * This method is called when the custom layer is added to the map. * It sets up the WebGL program, attributes, and uniforms needed for rendering, * and adds the source ID to the map style for MapBox internal pipeline and caching. * @param {any} map - The map object. * @param {WebGLRenderingContext} gl - The WebGL rendering context. * @returns {void} */ onAdd(map: any, gl: WebGLRenderingContext): void; /** * Renders the custom layer on the map using the provided WebGL rendering context. * @param gl - The WebGL rendering context to use for rendering the layer. */ render(gl: WebGLRenderingContext): void; } export {}; //# sourceMappingURL=customlayer.d.ts.map