ol
Version:
OpenLayers mapping library
145 lines • 4.63 kB
TypeScript
export const Uniforms: {
TILE_TEXTURE_ARRAY: string;
TEXTURE_PIXEL_WIDTH: string;
TEXTURE_PIXEL_HEIGHT: string;
TEXTURE_RESOLUTION: string;
TEXTURE_ORIGIN_X: string;
TEXTURE_ORIGIN_Y: string;
TILE_TRANSFORM: string;
TRANSITION_ALPHA: string;
DEPTH: string;
RENDER_EXTENT: string;
PATTERN_ORIGIN: string;
RESOLUTION: string;
ZOOM: string;
GLOBAL_ALPHA: string;
PROJECTION_MATRIX: string;
SCREEN_TO_WORLD_MATRIX: string;
};
export namespace Attributes {
let TEXTURE_COORD: string;
}
export default WebGLTileLayerRenderer;
export type Options = {
/**
* Vertex shader source.
*/
vertexShader: string;
/**
* Fragment shader source.
*/
fragmentShader: string;
/**
* Additional uniforms
* made available to shaders.
*/
uniforms?: {
[x: string]: import("../../webgl/Helper.js").UniformValue;
} | undefined;
/**
* Palette textures.
*/
paletteTextures?: import("../../webgl/PaletteTexture.js").default[] | undefined;
/**
* The texture cache size.
*/
cacheSize?: number | undefined;
/**
* Post-processes definitions.
*/
postProcesses?: import("./Layer.js").PostProcessesOptions[] | undefined;
};
export type TileTextureType = import("../../webgl/TileTexture.js").TileType;
export type TileTextureRepresentation = import("../../webgl/TileTexture.js").default;
/**
* @typedef {Object} Options
* @property {string} vertexShader Vertex shader source.
* @property {string} fragmentShader Fragment shader source.
* @property {Object<string, import("../../webgl/Helper").UniformValue>} [uniforms] Additional uniforms
* made available to shaders.
* @property {Array<import("../../webgl/PaletteTexture.js").default>} [paletteTextures] Palette textures.
* @property {number} [cacheSize=512] The texture cache size.
* @property {Array<import('./Layer.js').PostProcessesOptions>} [postProcesses] Post-processes definitions.
*/
/**
* @typedef {import("../../webgl/TileTexture.js").TileType} TileTextureType
*/
/**
* @typedef {import("../../webgl/TileTexture.js").default} TileTextureRepresentation
*/
/**
* @classdesc
* WebGL renderer for tile layers.
* @template {import("../../layer/WebGLTile.js").default|import("../../layer/Flow.js").default} LayerType
* @extends {WebGLBaseTileLayerRenderer<LayerType, TileTextureType, TileTextureRepresentation>}
* @api
*/
declare class WebGLTileLayerRenderer<LayerType extends import("../../layer/WebGLTile.js").default | import("../../layer/Flow.js").default> extends WebGLBaseTileLayerRenderer<LayerType, import("../../webgl/TileTexture.js").TileType, TileTexture> {
/**
* @param {LayerType} tileLayer Tile layer.
* @param {Options} options Options.
*/
constructor(tileLayer: LayerType, options: Options);
/**
* @type {WebGLProgram}
* @private
*/
private program_;
/**
* @private
*/
private vertexShader_;
/**
* @private
*/
private fragmentShader_;
/**
* Tiles are rendered as a quad with the following structure:
*
* [P3]---------[P2]
* |` |
* | ` B |
* | ` |
* | ` |
* | A ` |
* | ` |
* [P0]---------[P1]
*
* Triangle A: P0, P1, P3
* Triangle B: P1, P2, P3
*
* @private
*/
private indices_;
/**
* @type {Array<import("../../webgl/PaletteTexture.js").default>}
* @private
*/
private paletteTextures_;
/**
* @param {Options} options Options.
* @override
*/
override reset(options: Options): void;
/**
* @override
*/
override createTileRepresentation(options: any): TileTexture;
/**
* @override
*/
override beforeTilesRender(frameState: any, tilesWithAlpha: any): void;
/**
* @override
*/
override renderTile(tileTexture: any, tileTransform: any, frameState: any, renderExtent: any, tileResolution: any, tileSize: any, tileOrigin: any, tileExtent: any, depth: any, gutter: any, alpha: any): void;
/**
* @param {import("../../pixel.js").Pixel} pixel Pixel.
* @return {Uint8ClampedArray|Uint8Array|Float32Array|DataView} Data at the pixel location.
* @override
*/
override getData(pixel: import("../../pixel.js").Pixel): Uint8ClampedArray | Uint8Array | Float32Array | DataView;
}
import TileTexture from '../../webgl/TileTexture.js';
import WebGLBaseTileLayerRenderer from './TileLayerBase.js';
//# sourceMappingURL=TileLayer.d.ts.map